要捕获由终端启动的进程的唯一命令行的进程ID,可以使用以下代码示例:
import psutil
def get_terminal_processes():
terminal_processes = []
for proc in psutil.process_iter(['pid', 'name', 'cmdline']):
if proc.info['name'] == 'bash' or proc.info['name'] == 'cmd.exe':
terminal_processes.append(proc.info['pid'])
cmdline = ' '.join(proc.info['cmdline'])
print(f"Process ID: {proc.info['pid']}, Command Line: {cmdline}")
return terminal_processes
terminal_processes = get_terminal_processes()
print("Terminal Processes:", terminal_processes)
这里使用了psutil
库来获取系统进程的信息。首先,我们使用psutil.process_iter()
来获取当前正在运行的所有进程。然后,我们检查进程的名称是否为bash
(对于Linux/MacOS)或cmd.exe
(对于Windows)来区分终端进程。如果进程是终端进程,则将其进程ID存储在terminal_processes
列表中,并将命令行打印出来。最后,返回terminal_processes
列表。
使用示例代码,你将获得由终端启动的进程的唯一命令行的进程ID。