我想在ubuntu 14.04LTS启动时运行一个python脚本。
我的rc.local文件如下所示:
sudo /home/hduser/morey/zookeeper-3.3.6/bin/zkServer.sh启动
echo“test”> / home / hduser / test3
- 如何检查程序正在写入terminal
- 如何查找远程主机是否可以通过SSH访问,而不用实际执行ssh
- 非阻塞在pipe道上读取
- 如何删除〜而不删除我的主目录?
- 如何获得内核启动时初始化/探测的所有模块/驱动程序的详细信息
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
退出0
除了我的python脚本之外,所有的东西甚至在运行python脚本之后都能正常工作,但是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()
如果单独执行的话,它可以很好地工
我经历了以下问题 , 链接
我做了很多研究,但找不到解决scheme
编辑:echo语句仅用于testing目的,而第二个实际的命令(不考虑echo语句)正在启动一个服务器,它将继续运行,甚至python脚本启动一个运行在无限循环的监听器,如果这是任何帮帮我
Python脚本尝试启动./sbt
。 你确定如果rc.local
运行的当前目录是什么? 该规则总是在系统脚本中使用绝对路径
不要在后台运行Python脚本,在前台运行它。 不要从其父脚本中退出。 最好从“rc.local”中调用另一个完成“echo”和脚本启动工作的脚本。
从“rc.local”运行该脚本; 不在后台(no&)。
你不需要“sudo”,因为“rc.local”是以root身份运行的。
如果你想在系统启动时运行python脚本,有一个我已经使用的替代解决方案。
1:创建sh文件,如sample.sh,复制粘贴内容
#!/bin/bash clear python yourscript.py
2:现在重新启动一个cron作业。如果你正在使用linux,你可以使用如下
a:Run crontab -e(Install sudo apt-get install cron) b:@reboot /full path to sh file > /home/path/error.log 2>&1
并重新启动您的设备