ssb*_*ssb 1 python linux shell
如何在python中获取正在运行的作业列表.即.我基本上希望jobs在字符串或列表或集合中输出命令.
我正在尝试
p1 = subprocess.Popen(['jobs'], shell=True, stdout=subprocess.PIPE)
n = p1.communicate()[0].strip()
Run Code Online (Sandbox Code Playgroud)
但这似乎并没有奏效
你必须自己跟踪它.shell会跟踪其所有子进程作业,但您不是shell,因此您必须自己进行跟踪. jobs是一个Bash shell内置命令,而不是运行的实际可执行文件.当你这样做subprocess.Popen(['jobs'], shell=True),你就产生一个新的应,并要求它为它的工作,这当然是空的,因为它没有任何正在运行的作业一个新的外壳.
如果你无法跟踪自己正在运行的工作,那么你将面临更艰难的时期.在Linux上,您可以解析/proc并查找将您作为父级的所有进程.在Windows上,您可以使用诸如pywin32之类的包装器或ctypes访问Win32 API 的模块来执行此类操作.
| 归档时间: |
|
| 查看次数: |
977 次 |
| 最近记录: |