通过运行带有标志的脚本将命令发送到正在运行的脚本

2024-10-03 23:22:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图让python脚本在后台运行,并监听命令。例如,如果我运行脚本:

python my_script.py它将开始运行(并等待命令)。在

然后我想跑:

python my_script.py --do_something,打开一个不同的python进程,它将在上一个进程中运行一个函数do_something()。在

我在PDPlayer这样的程序上见过这种方法,其中flag--play使播放器开始播放视频。这也可以用python实现吗?在

我知道如何使用argparse处理命令行参数。我需要关于两个python进程之间通信的帮助。在

另外,我计划将应用程序冻结,这样就可以使用psutil搜索可执行文件名来找到应用程序的PID。在

谢谢。在

顺便说一句,我用的是Windows。。。在


Tags: 方法函数py命令程序脚本应用程序进程
2条回答

如果您将原始脚本pid存储在某个地方,则可以执行此操作。 当您运行带有某个标志的脚本时,您发送的信号应该由主脚本正确处理。 在此处开始搜索https://docs.python.org/2/library/signal.html

这需要做两件事:处理命令行标志,以及向另一个进程发送信号。对于标志,您可以使用argparse库,或者系统argv. 在

为了发送信号,您需要已经运行的进程的进程ID(pid)。在Linux下,您可以调用ps,并检查是否有另一个脚本实例正在运行。如果有,给它发个信号。在

信号处理的另一种选择是DBus。不过,这种跨平台能力较弱。在

相关问题 更多 >