如何可靠地获得扭曲派生过程的pid



我有一个Python程序,它使用psutil来运行一些不同的twistd ...命令。twistd生成并守护进程,并编写一个foo.pid,我可以从中读取pid。

它还进行了设置,以便在进程终止时清理该pid文件,这意味着派生的进程可能完成得太快,以至于我无法读取pid。

如果twistd不能写入pid文件,它确实会返回一个错误代码,所以我可以假设没有pid文件和扭曲的错误代码意味着进程成功地生成并很快终止,但整个过程似乎很不稳定。更不用说必须等待pid文件被填充内容,同时还要处理它被填充但又被一次性删除的可能性。

有更好的方法吗?

没有更好的方法了(或者,如果有,很难或不可能知道它是什么,因为你没有描述你正在解决的一般问题,你只是用你已经选择的解决方案描述了一个问题)。

不过,有一个开放的特性要求使twistd更适合这种使用。如果你帮助解决它,那么你就可以随心所欲地去做。

我不确定您使用psutil的目的是什么,但仅从Twisted调用spawnProcess就会触发一个知道其pid的IReactorProcess

如果你呼吁的是twistd,那么如果你愿意的话,肯定有一种方法可以在同一流程中完成你要做的事情。

相关内容

  • 没有找到相关文章