社区
Linux/Unix社区
帖子详情
system调用shell命令时的一个疑问
honty
2012-06-27 10:39:19
我用system调用shell脚本b.sh
在执行a.out时,执行ctrl+c,a.out和子进程b.sh都退出了
而在system函数说明中有以下说明,
在调用system()期间SIGCHLD 信号会被暂时搁置,SIGINT和SIGQUIT 信号则会被忽略。
上面说被忽略,是怎么个意思?
...全文
175
4
打赏
收藏
system调用shell命令时的一个疑问
我用system调用shell脚本b.sh 在执行a.out时,执行ctrl+c,a.out和子进程b.sh都退出了 而在system函数说明中有以下说明, 在调用system()期间SIGCHLD 信号会被暂时搁置,SIGINT和SIGQUIT 信号则会被忽略。 上面说被忽略,是怎么个意思?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
louyong0571
2012-06-27
打赏
举报
回复
http://blog.chinaunix.net/uid-25940216-id-3207074.html
楼主看看这个
honty
2012-06-27
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
SIGINT和SIGQUIT 信号则会被忽略就是对这两个信号不会响应了。建议你去看看一本书《UNIX 高级环境编程》
[/Quote]
谢谢你的回复,
ctrl+C就是SIGINT信号吧,为什么在执行system的时候,进行ctrl+c还是会杀死父子进程?
bestpool
2012-06-27
打赏
举报
回复
SIGINT和SIGQUIT 信号则会被忽略就是对这两个信号不会响应了。建议你去看看一本书《UNIX 高级环境编程》
honty
2012-06-27
打赏
举报
回复
明白了,谢谢大家的回复
我在a.out和a.sh中都加上捕获SIGINT中断的代码,在未执行到system的时候,可以在a.out中捕获到SIGINT
在执行system的时候,在a.out中捕获不到SIGINT,在a.sh中可以捕获到SIGINT
也就是在执行system的时候,父进程中的SIGINT被忽略了
python
调用
shell
命令
本文详细介绍了在Python中通过os.system、os.popen、commands.getstatusoutput及subprocess模块
调用
Shell
命令
的方法,包括各自的优缺点及应用场景,帮助读者理解如何在Python程序中高效地执行和管理
Shell
命令
。
awk
调用
shell
命令
getline system
本文介绍了如何在Awk程序中使用管道和getline函数来
调用
Shell
命令
,并获取及处理返回的结果。通过示例展示了两种不同的语法:一种是将Awk输出的数据传递给
Shell
命令
进行处理;另一种是先执行
Shell
命令
并将结果传给Awk处理。
linux下c语言
调用
shell
命令
的方法: system、popen、exec系列函数
本文深入探讨了Linux系统中的system、popen及exec家族函数的使用方法与注意事项,包括它们的参数、返回值、错误处理及安全建议。通过具体实例,展示了如何在C语言中执行
shell
命令
和管理子进程。
PHP
调用
shell
命令
本文详细介绍了在PHP中
调用
Shell
命令
的三种方法:system、exec和passthru,展示了如何利用这些函数执行Unix
命令
并处理其输出,适用于希望在PHP环境中运行Python脚本或其他
Shell
任务的开发者。
awk
调用
shell
命令
与getline和system函数
本文介绍了如何利用awk脚本语言中的getline和system函数来
调用
Shell
命令
,并展示了如何处理
命令
输出。通过示例说明了getline函数从
Shell
命令
获取数据的方法及system函数的基本使用。
Linux/Unix社区
23,223
社区成员
74,536
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章