使用系统命令启动的进程的进程ID

使用系统命令启动的进程的进程ID

假设我在ubuntu操作系统上打开一个shell,然后通过以下方式打开一个软件,例如matlab

matlab &

在 matlab GUI 中,我执行系统命令

system('/path/to/my/cppprog') % <-- PID of this running program?

我在那里启动了一个自己编写的 C++ 程序,名为“cppprog”

现在,我想找出与我启动的程序关联的进程 ID。我该怎么做?我可以使用不同的命令行参数调用同一程序的多个系统命令。

答案1

我假设您的意思是pid从 shell 中获取,而不是从matlab脚本中获取。

您可以matlab像这样查看脚本的所有子级:

matlab &
pstree -ap $!

$!是您在后台运行的最后一个命令的 pid。如果不是最后一个,要么找到matlabwith的 pid pidof matlab,要么只使用$$当前 shell 的 pid,以显示 shell 的所有后代,包括那些matlab

相关内容