我想从python(我在linux下)控制几个相同类型的子进程.
我想要:
>启动他们.
>阻止他们.
>询问他们是否还在运行.
我可以使用spawnl启动进程,并获取pid.使用这个pid我可以用kill来阻止它.而且我确信还有一种方法可以询问它是否与pid一起运行.
问题是,如果发生以下情况该怎么办:
我开始一个过程,记住pid.该过程在我没有注意到的情况下结束,另一个完全不同的过程开始被分配相同的pid.我试图杀死我的进程,我杀了一个完全不同的进程.
在python中启动和控制进程的更好方法是什么?
谢谢!
解决方法:
您可以使用subprocess.Popen启动其他进程,并保存生成的Popen object.通过该对象上的方法,您可以检查进程是否仍然存活,等待它完成,终止它,终止它 – 所有没有任何pid风险基于混乱!另外,这也是一种更加跨平台的方法,尽管在这种情况下您可能并不特别关注.
标签:python,pid 来源: https://codeday.me/bug/20190730/1582328.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。