-1
我的程序收到一个字符串(一个shell脚本的路径)作为输入。现在我必须启动该shell脚本并找出它的进程ID。使用程序名称查找进程ID
我使用system()
函数来启动一个shell脚本,然后使用popen()
和ps -aef | grep "ShellScript"
来获得它的PID。
有人建议我有一个更好的方法来做到这一点。如果多个脚本在同一时间运行,我做的方式会给出错误的PID。
启动后给定脚本名称获取PID的正确方法是什么?
_“如果多个脚本在同一时间运行它会给错误的PID。” _所以你要处理多个PID的? – user0042
也许查找[fork()](https://linux.die.net/man/2/fork)和[exec()](https://linux.die.net/man/3/exec)? – Galik
也许这是用'fork()'和'exec ...()'替换'system()'的最简单的方法。但是:你目前如何实现目标?通常'system()'在脚本完成之前不会返回... –