让两个python脚本相互通信的最简单方法是什么?

时间:2015-03-18 22:12:10

标签: python

我在vps上运行了一个python脚本。现在我只想使用台式计算机在运行脚本中更改1个变量。

初学者最简单的方法是什么?

2 个答案:

答案 0 :(得分:1)

如果我是初学者,我会让我的远程脚本定期检查文本文件中变量的值。当我需要更新变量时,我只需要ssh到我的远程机器并更新文本文件。

答案 1 :(得分:0)

使用定期轮询的文本文件是一种简单的方法。

更有效且可能更简单的方法是在python进程中注册信号处理程序,这会强制进程在需要时重新加载文本文件中的值,而不是连续轮询。在linux上,您可以使用终端中的kill命令在更新文件后发送信号。这实际上可能比实现连续轮询更简单。

import signal
import sys
import os 
print os.getpid()
def signal_handler(signal, frame):
    # open text file and check for new value
    print "value reset"
signal.signal(signal.SIGUSR1, signal_handler)

然后在Linux终端中触发要重新加载的值,你可以这样做:

kill -SIGUSR1 pidprinted

如果你想变得非常花哨,你可以注册一个信号处理程序来启动pdb(python的调试器),将值注入正在运行的进程,然后继续,但我认为上面这样做是最简单的。