检查进程是否已完成(python)

检查进程是否已完成(python),python,process,Python,Process,如何检查进程是否已停止在python中运行?我不在乎它是否是一个僵尸进程,只要它停止运行(syscallexit),这只需要在linux上工作。我已签出了psutil,但状态\u已停止和状态\u已死亡似乎不起作用 pidof——查找正在运行的程序的进程ID 如果至少有一个同名进程正在运行,pidof的退出代码将为零,否则将是一个 您可以执行如下小bash脚本: if pidof python > /dev/null; then echo 'At least one is runni

如何检查进程是否已停止在python中运行?我不在乎它是否是一个僵尸进程,只要它停止运行(syscallexit),这只需要在linux上工作。我已签出了
psutil
,但
状态\u已停止
状态\u已死亡
似乎不起作用

pidof——查找正在运行的程序的进程ID

如果至少有一个同名进程正在运行,pidof的退出代码将为零,否则将是一个

您可以执行如下小bash脚本:

if pidof python > /dev/null;
then
    echo 'At least one is running'
else
    echo 'No process is running'
fi
我将输出管道化到/dev/null,只是为了避免打印找到的进程的PID,但这是可选的

编辑:如果您希望能够从python中执行此操作,只需执行相同的操作:

import os

if os.system("pidof man > /dev/null") == 0:
    print('At least one is running')
else:
    print('No process is running')

我想运行
ps-e | grep PID_或_NAME
,但这也很好,@Enzo Caceres似乎看不到某个进程,但我知道它是通过运行ps-aDo存在的。你有什么例子吗?好吧,我有一个python脚本,它运行execl来运行bash脚本,而且它没有看到bash脚本您确定您正在用bash运行它吗?也许是因为它的缘故?还是zsh?尝试将bash脚本的内容替换为
而不是true;做睡眠1;完成并再次测试