当前位置: 技术问答>linux和unix
[求助]popen 函数引起 shell 调用, sh 成为僵尸进程.
来源: 互联网 发布时间:2016-03-22
本文导语: 比如:popen("./test", "r"); test程序正常运行,也正常退出, 但是 ps 或者 top 的时候能看到 僵死的 sh 进程. 有同学遇到过这样的问题吗? system 或者 fork 启动进程的方式我明白,所以不用多说了。 | ...
比如:popen("./test", "r");
test程序正常运行,也正常退出, 但是 ps 或者 top 的时候能看到 僵死的 sh 进程.
有同学遇到过这样的问题吗? system 或者 fork 启动进程的方式我明白,所以不用多说了。
test程序正常运行,也正常退出, 但是 ps 或者 top 的时候能看到 僵死的 sh 进程.
有同学遇到过这样的问题吗? system 或者 fork 启动进程的方式我明白,所以不用多说了。
|
是不是没有调用pclose?
|
pclose了没有?
调用pclose后才会关闭流.
还有就是如果test里边也有调用fork的地方,但你没有调用wait,但test的父进程异常退出,这时也会有僵尸进程出现。
调用pclose后才会关闭流.
还有就是如果test里边也有调用fork的地方,但你没有调用wait,但test的父进程异常退出,这时也会有僵尸进程出现。
|
继续关注
|
最好还是用pclose关闭流,不过有可能是busybox 所提供的 sh导致的问题,以前也遇到过其他的问题,在ARM上是比较容易出现问题,以前的一个线程程序在x86下跑没有问题,在ARM就是出现断错误,期待高手来解答,关注。