我需要通过python在Linux中执行几个命令,并将命令的过程存储在数据库中,以便在需要时可以将其杀死。对于每个命令,我都应该获取进程ID,并在需要时将其放入数据库中。
我尝试了command & echo$!
,这将在输出中返回进程ID。我必须解析输出并获取进程ID。我需要知道运行命令后是否有任何简单的方法来获取进程ID?
以上命令的输出将
[1] 7543745
command output
-
-
-
-
-
-
-
-
-
-
答案 0 :(得分:1)
在python中使用子流程模块:
import subprocess
p = subprocess.Popen('grep')
print(p.pid)
答案 1 :(得分:0)
尝试以下代码按名称查找进程ID:
import os
process_name = 'Jupyter'
os.system('pgrep -fl {}'.format(process_name))