我有两个脚本:“autorun.py”和“main.py”。我将“autorun.py”作为服务添加到我的 linux 系统中的自动运行中。完美运行!
现在我的问题是:当我想从我的自动运行脚本启动“main.py”,并且“main.py”将永远运行时,“autorun.py”也永远不会终止!所以当我这样做的时候
sudo service autorun-test start
该命令也永远不会完成!
如何运行“main.py”然后退出,并完成它,当使用参数“stop”启动“autorun.py”时如何停止“main.py”?(这就是我认为所有其他服务的工作方式)
编辑:
解决方案:
if sys.argv[1] == "start":
print "Starting..."
with daemon.DaemonContext(working_directory="/home/pi/python"):
execfile("main.py")
else:
pid = int(open("/home/pi/python/main.pid").read())
try:
os.kill(pid, 9)
print "Stopped!"
except:
print "No process with PID "+str(pid)