在rc.local中运行的Python脚本不会执行。
在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脚本也启动了一个在无限循环中运行的监听器,如果这有帮助的话。