Python 在进程列表中检测到 python 脚本的名称

Python detect a python script's name in the list of processes

我知道我可以使用 psutil 来获取 运行ning 进程名称的列表,如下所示

import psutil

for i in psutil.pids():
    print(psutil.Process(i).name())

但是,如果我 运行 带有 python 的 python 脚本,psutil 只会告诉我我有一个 python 运行宁.

所以,我的问题是 - 如果我 运行 一个 python 脚本:

python script_name

是否可以通过 psutil 检测 script_name

psutil.Process(i).cmdline()docs。你的例子会 return

['python', 'script_name']

psutil 文档指出 cmdline() 方法 returns 进程的命令行。如果命令行是 python script_name,第二个单词将是实际的脚本名称。要获取此信息,我会将 psutil.Process(i).name() 更改为 psutil.Process(i).cmdline()