获取命令刚执行完的命令的进程id

Get process id of the command of the command just after execution

我需要通过 python 在 Linux 中执行几个命令,并将命令的过程存储在数据库中,以便在需要时可以终止它。对于每个命令,我应该获取进程 ID 并在需要时将其放入数据库。

我试过 command & echo$! 这将 return 输出中的进程 ID。我必须解析输出并获取进程 ID。我需要知道在 运行 命令后是否有任何简单的方法来获取进程 ID?

以上命令的输出将

[1] 7543745

command output
-
-
-
-
-
-
-
-
-
-

尝试使用以下代码按名称查找进程 ID:

import os

process_name = 'Jupyter'
os.system('pgrep -fl {}'.format(process_name))

使用 python 中的子进程模块:

import subprocess
p = subprocess.Popen('grep')
print(p.pid)