【问题标题】:pid of executing python script using psutil使用psutil执行python脚本的pid
【发布时间】:2017-09-22 11:59:09
【问题描述】:

操作系统:杰西

Python:2.7

我想使用psutil 来终止我当前正在执行的脚本。我的问题是我想用 ID 杀死它,但我不知道如何获取我的脚本的 pid。

我知道我可以用进程名称终止,但我认为这不是一个很好的解决方案。

有人知道如何进行这项工作吗?

我已经用 PiCamera、GUI 和一些传感器设置了我的 Pi。我正在使用cv2 库,问题是窗口不会关闭。 因此,我用谷歌搜索了如何关闭它们,但没有任何我可以使用的解决方案。杀死进程对我来说没问题。

编辑:

import psutil

def on_terminate(proc):
    print("process {} terminated with exit code {}".format(proc, proc.returncode))

procs = psutil.Process().children()
for p in procs:
    p.terminate()
gone, still_alive = psutil.wait_procs(procs, timeout=3, callback=on_terminate)
for p in still_alive:
    p.kill()

我在文档中找到了这个 sn-p。如何使用pid's 进行此操作?

【问题讨论】:

  • 你能给你脚本的链接吗?这样,解决您的问题会更容易。
  • 你想杀死你自己的脚本吗?为什么不sys.exit()?
  • 欢迎来到stackoverflow。请,您能否提供一些您的具体问题的代码。这证明了您尝试了多远,它将帮助其他成员更好地理解您的问题,当时,您将向他们提供您的问题的背景。请检查以下链接:stackoverflow.com/help/mcve 和 stackoverflow.com/help/how-to-ask
  • 你是如何执行脚本的?例如,subprocess.Popen 对象具有 pid 属性。
  • 对不起,我没有提到我想做什么。

标签: python python-2.7 pid psutil


【解决方案1】:
os.getpid()

和

How to terminate process from Python using pid?

就是答案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    相关资源
    最近更新 更多