假设我在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。如果不是最后一个,要么找到matlab
with的 pid pidof matlab
,要么只使用$$
当前 shell 的 pid,以显示 shell 的所有后代,包括那些matlab