popen() alternative - 我正在使用accepted
答案(管道/ fork/exec方法)来解决我的问题。唯一的区别是,我正在使用execv
而不是execl
。“execv”子进程存在和终止
现在,我的问题是,父进程是否有任何控制由execv
创建的子进程?可以说,在accepted
答案中提出的整个顺序是用于拖尾1个文件,而且我有很多这样的文件;我把这个整个序列放在一个函数中,如果我多次调用这个函数,在某个时间点,是否有可能有许多子进程?
我想知道的是, 1)我可以在任何时间点运行多个子进程吗? 2)子进程(由execv创建)如何终止? execv
调用父进程是否知道子进程(由execv创建)是否完成/终止? - 回答。
如果你能够使用它,GLib有一个这种东西的防弹实现:http://developer.gnome.org/glib/2.30/glib-Spawning- Processes.html这很难让它完全正确(我知道是因为我编写了GLib,当然它可能还不是完全正确,但它处理了大量细节) –
短语“由execv创建的子进程”是不正确的。 execv不创建一个孩子。 –