我试图让python脚本在后台运行,并监听命令。例如,如果我运行脚本:
python my_script.py
它将开始运行(并等待命令)。在
然后我想跑:
python my_script.py --do_something
,打开一个不同的python进程,它将在上一个进程中运行一个函数do_something()
。在
我在PDPlayer这样的程序上见过这种方法,其中flag--play使播放器开始播放视频。这也可以用python实现吗?在
我知道如何使用argparse处理命令行参数。我需要关于两个python进程之间通信的帮助。在
另外,我计划将应用程序冻结,这样就可以使用psutil
搜索可执行文件名来找到应用程序的PID。在
谢谢。在
顺便说一句,我用的是Windows。。。在
如果您将原始脚本pid存储在某个地方,则可以执行此操作。 当您运行带有某个标志的脚本时,您发送的信号应该由主脚本正确处理。 在此处开始搜索https://docs.python.org/2/library/signal.html
这需要做两件事:处理命令行标志,以及向另一个进程发送信号。对于标志,您可以使用argparse库,或者系统argv. 在
为了发送信号,您需要已经运行的进程的进程ID(pid)。在Linux下,您可以调用
ps
,并检查是否有另一个脚本实例正在运行。如果有,给它发个信号。在信号处理的另一种选择是DBus。不过,这种跨平台能力较弱。在
相关问题 更多 >
编程相关推荐