产生一个子进程但是如果主进程被杀死则杀死它

时间:2016-02-24 17:17:54

标签: python subprocess

我正在用Python创建一个程序来监听varios用户交互并记录它们。我有这些要求/限制:

  1. 我需要一个单独的进程,每小时将这些日志发送到远程数据库
  2. 我无法在当前流程中执行此操作,因为它会阻止UI。
  3. 如果主进程停止,后台进程也应该停止。
  4. 我一直在阅读关于subprocess但我似乎无法找到关于如何同时停止两者的任何内容。如果有人知道Erlang / Elixir,我需要相当于spawn_link

    谢谢!

1 个答案:

答案 0 :(得分:0)

要回答标题中的问题(来自Google的访问者):there are robust solutions on Linux, Windows using OS-specific APIs and less robust but more portable psutil-based solutions

修复您的具体问题(XY problem):使用守护程序线程而不是进程

线程允许执行I / O而不阻止GUI code example(即使您选择的GUI不提供异步.I / O API,如tkinter's createfilehandler()或{{3 }})。