查看python进程是否已经在运行的最佳方法是什么?

查看python进程是否已经在运行的最佳方法是什么?,python,daemon,Python,Daemon,我正试图编写一个脚本来监视我的python程序,看看它是否已经在运行 我首先尝试将此脚本分配给一个对象: processWatch = os.system("sudo ps afxj | grep quickConversion.py") if processWatch > 2: #if more than one is running it won't run. while 1: "rest of loop" 然后,我尝试监视对象的多个实例 有些Linux命令

我正试图编写一个脚本来监视我的python程序,看看它是否已经在运行

我首先尝试将此脚本分配给一个对象:

processWatch = os.system("sudo ps afxj | grep quickConversion.py")
if processWatch > 2:  #if more than one is running it won't run.
    while 1:
        "rest of loop"

然后,我尝试监视对象的多个实例

有些Linux命令返回进程列表:

if 'your_process' in commands.getoutput('ps -A'):
    print 'Your process in running.'

有一些Linux命令返回进程列表:

if 'your_process' in commands.getoutput('ps -A'):
    print 'Your process in running.'

子流程的Popen对此非常有用

导入子流程
process=subprocess.Popen(cmd)
如果process.poll()为无:
打印(“进程尚未终止。”)

子流程的Popen对此非常有用

导入子流程
process=subprocess.Popen(cmd)
如果process.poll()为无:
打印(“进程尚未终止。”)

您可能需要了解如何处理流程

import psutil

processWatch = [p.cmdline() for p in psutil.process_iter()].count(['python', 'quickConversion.py'])
if processWatch > 0:
    `while 1: `
        `"rest of loop"`

您可能需要查看如何处理流程

import psutil

processWatch = [p.cmdline() for p in psutil.process_iter()].count(['python', 'quickConversion.py'])
if processWatch > 0:
    `while 1: `
        `"rest of loop"`


该程序是否在Linux上运行?该程序在CentOSTry上运行时使用的是一种很好的抽象方法,用于查看正在运行的进程。@AnttiHaapala您忘记删除while循环和
循环其余部分中的返回标记了
在您的edit中,该程序是否在Linux上运行?该程序在CentOSTry上运行,它为查看正在运行的进程提供了一个很好的抽象。@AnttiHaapala您忘记删除while循环和edit中的
“rest of loop”
中的back tick。我试图使该程序有点“自我意识”因此,如果它看到自己的实例已经在运行,它将不会再次运行。我使用crontab每分钟运行一次程序,这样如果失败,它就会重新启动。如果程序已经在运行,我能做些什么来确保它不会运行?我试图让程序有点“自我意识”,这样如果它看到自己的实例已经在运行,它就不会再次运行。我使用crontab每分钟运行一次程序,这样如果失败,它就会重新启动。如果程序已经在运行,我该怎么做才能确保它不会运行呢?我可能错了,但我不认为OP是在谈论由Python启动的进程(可以使用subprocess)。我正在尝试将此脚本嵌套在它正在监视的程序中,以便当我运行程序时,它会同时监视自己。Popen能监视运行python程序吗?@Dan:你是运行一个程序实例还是多个实例?它们是如何推出的?通过Python还是通过独立运行它们?我正在运行一个实例。我正在使用crontab来运行程序,这样,如果程序失败,它将重新启动。它们是由crontab启动的。我可能错了,但我认为OP并不是在谈论由Python启动的进程(您可以使用subprocess)。我正在尝试将此脚本嵌套在它正在监视的程序中,以便在运行该程序时,它会同时监视自己。Popen能监视运行python程序吗?@Dan:你是运行一个程序实例还是多个实例?它们是如何推出的?通过Python还是通过独立运行它们?我正在运行一个实例。我正在使用crontab来运行程序,这样,如果程序失败,它将重新启动。它们是由crontab启动的。psutil库是为此类任务构建的,并且是跨平台的。psutil库是为此类任务构建的,并且是跨平台的。