我有一个Python程序,它使用psutil来运行一些不同的twistd ...命令。twistd派生和守护进程,并编写一个foo.pid,我可以从中读取pid。
它还进行了设置,以便在进程终止时清理此pid文件,这意味着衍生的进程可能会很快完成,以至于我无法读取pid。
如果twistd不能写入pid文件,它会返回错误代码,所以我可以假设没有pid文件和扭曲的错误代码意味着进程被成功地派生并很快终止,但整个过程看起来非常不稳定。更不用说必须等待pid文件被填充内容,同时还处理它被填充但再次一次删除的可能性。
有没有更好的方法?
发布于 2012-07-28 08:09:44
没有更好的方法(或者如果有,很难或不可能知道它是什么,因为你还没有描述你正在解决的一般问题,你只是用你已经选择的解决方案描述了一个问题)。
不过,有一个open feature request可以让twistd更适合这种用途。如果你帮助解决了这个问题,那么你就可以按你想要的方式去做。
发布于 2012-07-27 20:53:17
我不确定你用psutil来做什么,但是只要从Twisted调用spawnProcess就会触发一个知道它的pid的IReactorProcess。
如果您调用的是twistd,那么如果您愿意的话,肯定有一种方法可以在相同的进程中完成您想要做的事情。
https://stackoverflow.com/questions/11687625
复制相似问题