在rc.local中运行的Python脚本不会执行。

33 浏览
0 Comments

在rc.local中运行的Python脚本不会执行。

我想在Ubuntu 14.04LTS启动时运行一个Python脚本。

我的rc.local文件如下所示:

sudo /home/hduser/morey/zookeeper-3.3.6/bin/zkServer.sh start

echo "test" > /home/hduser/test3

sudo /home/hduser/morey/kafka/bin/kafka-server-start.sh /home/hduser/morey/kafka/config/server.properties &

echo "test" > /home/hduser/test1

/usr/bin/python /home/hduser/morey/kafka/automate.py &

echo "test" > /home/hduser/test2

exit 0

除了我的Python脚本外,其他都运行正常,即使在运行Python脚本后的echo语句也能正常工作,但是Python脚本似乎无法运行。

我的Python脚本如下:

import sys
from subprocess import Popen, PIPE, STDOUT
cmd = ["sudo", "./sbt", "project java-examples", "run"]
proc = Popen(cmd, shell=False, stdout=PIPE, stdin=PIPE, stderr=STDOUT)
proc.communicate(input='1\n')
proc.stdin.close()

如果单独执行,它完全正常。

我查看了以下问题链接

我进行了大量的研究,但是找不到解决方案

编辑:echo语句仅用于测试目的,第二个实际命令(不考虑echo语句)是启动一个持续运行的服务器,而Python脚本也启动了一个在无限循环中运行的监听器,如果这有帮助的话。

0