Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我这里有这段代码,它是通过并行或顺序在不同的进程中多次执行一个程序。一段时间后,我需要杀死所有孩子才能停止程序。
但是每当我试图杀死孩子时,当前正在执行这一行的孩子 execvp(cmdTokens[0], cmdTokens); 将不会停止,直到它完成。似乎它会杀死循环,但不会杀死当前正在运行的孩子。
如果成功,exec 类函数将永远不会返回。它们本质上将您的流程转变为您正在调用的东西。这就是为什么你在调用 exec 之前 fork 假设你想保持你的原始进程运行。如果他们无法启动进程(例如找不到文件),他们可以返回。