我发现的唯一 好 方法是:
import sys
import os
try:
os.kill(int(sys.argv[1]), 0)
print "Running"
except:
print "Not running"
(资料来源)
但这可靠吗?它适用于每个流程和每个发行版吗?
毕竟,Mark的答案就是解决之道,这就是/ proc文件系统在那里的原因。对于一些复制/粘贴的东西:
>>> import os.path
>>> os.path.exists("/proc/0")
False
>>> os.path.exists("/proc/12")
True
问题内容: 作为构建穷人看门狗并确保应用程序崩溃的一种方法(直到我弄清原因),我需要编写一个PHP CLI脚本,该脚本将由cron每5百万次运行一次,以检查该进程仍在运行。 基于此页面,我尝试了以下代码,但是即使我使用虚假数据对其进行调用,它也始终返回True: 接下来,我尝试了这段代码 … …但是没有达到我的期望: FWIW,此脚本与PHP 5.2.5的CLI版本一起运行,并且操作系统为uCli
问题内容: 我正在尝试找到一种方法来检测进程是否在Windows Task Manager for Windows OS和Macintosh Activity Monitor for Mac OS中使用Python运行 有人可以帮我提供代码吗? 问题答案: psutil是一个跨平台的库,可检索有关正在运行的进程和系统利用率的信息。 在现有的Windows Python中,您可以使用和解析以下输出:
问题内容: 我对此有一些奇怪的问题。 我们正在使用Xvfb虚拟桌面管理器,并希望在继续之前确保其正在运行。使用纯外壳,我可以轻松地做到这一点: 这正是我所需要的,只有一行包含有关Xvfb proc的信息。接下来,我要将其合并到我的Java程序中并解析结果并存储正在运行的Xvfb进程的PID。所以我正在尝试: 奇怪的是,如果我使用“ ps -ef”,则在运行我的应用程序时,会得到大量的进程转储到控制
问题内容: 我正在使用Python中的subprocess.Popen启动许多子流程。我想检查一个这样的过程是否已经完成。我发现了两种检查子流程状态的方法,但似乎都可以迫使流程完成。一种是使用process.communicate()并打印返回代码,如解释在这里。另一种方法是简单地调用process.wait()并检查它是否返回0。 有没有一种方法可以检查进程是否仍在运行,而无需等待进程完成? 问
问题内容: 我是一名Android开发人员,我想在我的应用程序中编写一条语句。在此语句中,我要检查默认浏览器(Android OS中 问题答案: 添加下面的Helper类: 现在,你可以从以下代码中检查所需的应用程序是否正在运行:
问题内容: [Updated1]我有一个外壳,它将在某些功能中更改TCP内核参数,但是现在我需要使该外壳在Docker容器中运行,这意味着,该外壳需要知道它在容器内运行并停止配置内核。 现在我不确定如何实现,这是容器内部的内容: 我可以使用上面的任何标志来确定此过程是否在容器内运行吗? [Updated2]:我还注意到确定进程是否在lxc/Docker中运行,但在这种情况下似乎不起作用,我容器中的