当前位置: 首页 > 面试题库 >

有没有办法检查子进程是否仍在运行?

席俊驰
2023-03-14
问题内容

我正在使用Python中的subprocess.Popen启动许多子流程。我想检查一个这样的过程是否已经完成。我发现了两种检查子流程状态的方法,但似乎都可以迫使流程完成。一种是使用process.communicate()并打印返回代码,如解释在这里。另一种方法是简单地调用process.wait()并检查它是否返回0。

有没有一种方法可以检查进程是否仍在运行,而无需等待进程完成?


问题答案:

Ouestion :…一种检查进程是否仍在运行的方法…

您可以这样做:

p = subprocess.Popen(...
"""
A None value indicates that the process hasn't terminated yet.
"""
poll = p.poll()
if poll == None:
  # p.subprocess is alive

Python»3.6.1文档popen对象

使用Python测试:3.4.2



 类似资料:
  • 问题内容: 作为构建穷人看门狗并确保应用程序崩溃的一种方法(直到我弄清原因),我需要编写一个PHP CLI脚本,该脚本将由cron每5百万次运行一次,以检查该进程仍在运行。 基于此页面,我尝试了以下代码,但是即使我使用虚假数据对其进行调用,它也始终返回True: 接下来,我尝试了这段代码 … …但是没有达到我的期望: FWIW,此脚本与PHP 5.2.5的CLI版本一起运行,并且操作系统为uCli

  • 我知道Java中有无限的流。 有没有办法检查流是否有限? 类似这样的方法

  • 问题内容: 我发现的唯一 好 方法是: (资料来源) 但这可靠吗?它适用于每个流程和每个发行版吗? 问题答案: 毕竟,Mark的答案就是解决之道,这就是/ proc文件系统在那里的原因。对于一些复制/粘贴的东西:

  • 我想检查一下“安全 但是我得到了这个错误:“系统事件出错:脚本编辑器不允许辅助访问。”进程“系统偏好设置”窗口1中的数字-1719 我希望能够在客户机上执行这段代码,所以我不想在可访问性中添加脚本编辑器。 我的问题是,有没有一种方法(objective-c、c或appleScript)来检查选项卡是否被锁定?

  • 问题内容: 我知道可以用来从外壳检查给定的二进制文件,但是有可能在一个进程中执行此操作吗? 类似于(我完全组成了系统调用): 我正在尝试在我们的代码库中诊断一些可疑的SO链接问题,并且希望在可能的情况下以这种方式检查RPATH(我宁愿不必生成外部脚本)。 问题答案:

  • 由于TypeScript是强类型的,因此简单地使用来检查和听起来是不对的。 TypeScript是否有任何专门的函数或语法糖对此?