Python,确定Unix进程是否正在运行的正确方法是什么?

时间:2013-07-09 02:19:26

标签: python linux subprocess

我有一些现有代码可以确定系统是否正在运行:

    def is_running( self ):
        init_scripts = glob.glob( os.path.join( settings.INIT_SCRIPT_DIR, self.pp
ackage_name + '*' ) )
        running = False

        if len( init_scripts ) > 0:
            running = True
            for init_script in init_scripts:
                process = subprocess.Popen( [ 'sudo', init_script, 'status' ] )
                process.wait()
                if process.returncode != 0:
                    running = False
                    break

        return running

我发现process.returncode非零,即使所需的守护程序正在运行。从Python检查某些守护进程正在运行的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

您可能会觉得这个答案很有用:

https://stackoverflow.com/a/3667838/2431268

没有POSIX调用来执行此操作,也无法通过python标准库执行此操作。