ChinaUnix.net
 >> ChinaUnix.net > C/C++

怎样实现进程的顺序调用?

作者:haney     发表时间:2001/12/30 03:17pm

我在linux下用C编程
主程序循环用system起子进程,
希望在一个子进程结束时调用下一个子进程.
怎样实现呢?
谢谢

此文章相关评论:
该文章有5个相关评论如下:(点这儿可以发表评论)
mygod 发表于: 2001/12/30 03:24pm
system就是等运行结束后才返回到主调程序的呀!
 
haney 发表于: 2001/12/30 03:35pm
我是用system("./filename&");
这样就相当于在前台后台起了两个无关的进程!
相互之间不须等待!
 
mygod 发表于: 2001/12/30 03:39pm
一般没有这样作的,如果你想用同步方式执行那就不要家‘&’号,如果想使用异步的方式,那也没必要这样做,可以fork起一个子进程然后执行exec调用!

 
haney 发表于: 2001/12/30 03:51pm
如果不加"&"号,出现独占,
会影响我的主程序(是用gtk做的一个主窗口)的其他功能
可不可以通过"当子进程结束时给主进程传递信号,
来执行下一个system调用的方法呢?
怎莫实现通信呢?
锁文件,信号量?
好像锁文件的方法对root不适用!
真苦恼,马上要交活了!
麻烦了!
 
mygod 发表于: 2001/12/30 04:00pm
哦,原来是这样!
对,可以,子进程在exit以后会产生一个SIGCHLD信号,可以在主进程接收到这个进程之后在fork下一个进程,不用在子进程里面再另发信号了。但是注意不要用system,用我上面说的方法。
其他的你可以参考fanqiang.com上的文档!
 
 

Copyright © ChinaUnix.net  *  转载请注明出处及作者