PSUtil和Wine:试图让流程结束,但Wine流程永远不会终止(只是去睡觉)?

时间:2016-01-25 19:48:41

标签: python linux wine psutil

我正在使用Python的PSUtil库检测给定流程完成的确切时间。目前我通过查找流程何时终止来执行此操作,以下一套测试适用于 Windows 常规Linux 程序:

# Run a command and keep a reference
if do_run_command:
    process = psutil.Popen(command)
# Latch onto running process by PID
else:
    process = psutil.Process(int(pid))

# Loop until the process ends
while True:
    if not process.is_running():
        break

    if process.status() == psutil.STATUS_ZOMBIE:
        break

    try:
        # Command that gets information about the process

    except psutil.NoSuchProcess:
        break

# Store end time

但是,当我尝试在 Wine 下运行的程序中使用它时,这些测试都不会触发。这是因为看起来Wine进程从未实际终止,而是无限期地进入睡眠状态。这包括在Wine中运行的程序,在Wine中启动程序的脚本等等。

这导致了能够检测程序何时真正结束的问题,以及因为进程在内存中积累,直到我最终必须手动终止它们。

- = - = - = - = -

我在 CentOS 6.0 上运行。我可以归结为这些主要问题:

  1. 是否可以为 Wine 设置某种配置 完成后关闭进程? (我对Wine很陌生,寻找这个已经证明是非常困难的)
  2. 或者,是否还有另一个 PSUtil 测试我可以添加到我的Python脚本中,以便检测这些Wine进程何时完成(即使它们无限期地睡眠)?

0 个答案:

没有答案