检查进程是否已完成(python)
如何检查进程是否已停止在python中运行?我不在乎它是否是一个僵尸进程,只要它停止运行(syscallexit),这只需要在linux上工作。我已签出了检查进程是否已完成(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
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;完成代码>并再次测试