从另一个python文件控制python进程

时间:2016-09-06 09:47:05

标签: python python-3.x subprocess scheduled-tasks

首先简要概述我目前的目标:

我想使用调度程序每秒执行一个简单的python程序。该程序读取一些数据并在数据库中输入结果。由于计划任务将在树莓派上运行数天,因此该过程应在后台开始。因此,我想创建一个python文件,它可以启动,停止并从后台作业获取当前状态。此外,应该可以在不停止后台作业的情况下退出并重新输入控制文件。

目前我尝试使用apscheduler来每秒执行python文件。实际的问题是,我无法从另一个外部文件访问当前的python文件来控制状态。总的来说,我发现没有真正的解决方案如何控制子进程从外部文件控制,并在重新启动控制python文件后再次找到相同的子进程。

编辑:

总而言之,到目前为止,我现在能够通过他的pid找到当前的流程。通过它,我能够发送一个终止信号到当前进程。在我的预定文件中,我能够catch these signals并以正常方式关闭程序。

1 个答案:

答案 0 :(得分:1)

要控制(启动,重启,停止,安排)后台进程,请使用subprocess。以下是example子流程'} popen with timeout。

要在schedulerbackground job之间传递一些数据,请使用IPC机制之一,例如套接字。