从Python控制进程

从Python控制进程,python,pid,Python,Pid,我想从python控制几个相同类型的子进程(我在linux下)。 我想: 启动它们 阻止他们 询问他们是否还在跑步 我可以用spawnl启动一个进程,并获得pid。使用这个pid我可以用kill来阻止它。我确信也有一种方法可以询问它是否正在使用pid运行 问题是,如果发生以下情况怎么办: 我启动一个进程,记住pid。流程结束时我没有注意到,另一个完全不同的流程开始分配相同的pid。我试图终止我的进程,我终止了一个完全不同的进程 在python中启动和控制进程的更好方法是什么? 谢谢 您可以使

我想从python控制几个相同类型的子进程(我在linux下)。 我想:

  • 启动它们
  • 阻止他们
  • 询问他们是否还在跑步
我可以用spawnl启动一个进程,并获得pid。使用这个pid我可以用kill来阻止它。我确信也有一种方法可以询问它是否正在使用pid运行

问题是,如果发生以下情况怎么办: 我启动一个进程,记住pid。流程结束时我没有注意到,另一个完全不同的流程开始分配相同的pid。我试图终止我的进程,我终止了一个完全不同的进程

在python中启动和控制进程的更好方法是什么? 谢谢

您可以使用启动另一个进程,并保存结果。使用该对象上的方法,您可以检查进程是否仍然处于活动状态,等待它完成,终止它,杀死它——所有这些都不会有任何基于pid的混淆风险!另外,这也是一种更跨平台的方法,尽管您可能并不特别关心这种情况