列出python中正在运行的作业

列出python中正在运行的作业,python,linux,shell,Python,Linux,Shell,如何获取python中正在运行的作业的列表。 我基本上希望jobs命令的输出是字符串、列表或集合 我正在努力 p1 = subprocess.Popen(['jobs'], shell=True, stdout=subprocess.PIPE) n = p1.communicate()[0].strip() 但这似乎不起作用你必须自己跟踪它。shell跟踪其所有子进程作业,但您不是shell,因此您必须自己进行跟踪。作业是一个可执行文件,而不是实际运行的可执行文件。当您执行subproce

如何获取python中正在运行的作业的列表。 我基本上希望jobs命令的输出是字符串、列表或集合

我正在努力

 p1 = subprocess.Popen(['jobs'], shell=True, stdout=subprocess.PIPE)
 n = p1.communicate()[0].strip()

但这似乎不起作用

你必须自己跟踪它。shell跟踪其所有子进程作业,但您不是shell,因此您必须自己进行跟踪。作业是一个可执行文件,而不是实际运行的可执行文件。当您执行subprocess.Popen['jobs'],shell=True时,您正在生成一个新的shall并请求它提供其作业,这当然是空的,因为它是一个没有任何运行作业的新shell


如果你不能跟踪你自己的跑步工作,你将有一个更艰难的时间。在Linux上,您可以解析并查找将您作为父进程的所有进程。在Windows上,您可以使用诸如pywin32或ctypes模块之类的包装器来访问Win32 API。

您必须自己跟踪它。shell跟踪其所有子进程作业,但您不是shell,因此您必须自己进行跟踪。作业是一个可执行文件,而不是实际运行的可执行文件。当您执行subprocess.Popen['jobs'],shell=True时,您正在生成一个新的shall并请求它提供其作业,这当然是空的,因为它是一个没有任何运行作业的新shell


如果你不能跟踪你自己的跑步工作,你将有一个更艰难的时间。在Linux上,您可以解析并查找将您作为父进程的所有进程。在Windows上,您可以使用诸如pywin32或ctypes模块之类的包装器来访问Win32 API。

它以什么方式不起作用?它提供了什么输出,与在命令行上运行作业时得到的输出相比?子流程。请检查输出“作业”,shell=True。拆分“\n”将是一个较短的版本,用于执行您想要的操作。jobs命令显示由当前shell管理的作业;为什么您的Popen subshell要管理任何作业?让我重新表述一下:``subprocess.check_output'jobs',shell=True.split'\n`将是一个较短的版本,不做您想做的事情。它以什么方式不起作用?它提供了什么输出,与在命令行上运行作业时得到的输出相比?子流程。请检查输出“作业”,shell=True。拆分“\n”将是一个较短的版本,用于执行您想要的操作。jobs命令显示由当前shell管理的作业;为什么您的Popen subshell要管理任何作业?让我重新表述一下:`subprocess.check_output'jobs',shell=True.split'\n`将是一个较短的版本,不执行您想要执行的操作。如果您无法跟踪自己正在运行的作业,如果你不能跟踪自己正在运行的作业,你会过得很糟糕。获取ppid并解析该ppid的ps输出如何?获取ppid并解析该ppid的ps输出如何