LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1013|回复: 2

关于system函数的问题

[复制链接]
发表于 2010-3-30 22:04:33 | 显示全部楼层 |阅读模式
请教一下,我用system函数执行一个命令
system(“ftpget 192.168.1.1 /tmp/ftp /zy93/meter”)此时内核会创建ftpget进程然后去下载ftp文件。为了防止阻塞,我用了alarm定时:
alarm(120)
system(...)
alarm(0)
但是我发现alarm定时到了后, 当前进程确实重启了,但是system函数创建的ftpget进程依然存在无法重启,有没有办法把ftpget进程也干掉的方法?谢谢了~
发表于 2010-3-31 09:11:48 | 显示全部楼层
要注册捕获整个程序退出的信号(signal),并在信号中强制kill所有子进程。才能保证程序正常退出的资源被释放,下次才能够正常启动。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-1 19:36:04 | 显示全部楼层
谢谢poet,我现在就是捕捉alarm信号。超时产生alarm信号后,如何kill所有子进程?谢谢了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表