可能重复:
Linux 中的启动程序
我有一台 Linux 机器一直在运行一个程序,如果电源被切断,程序将不会重新启动,直到我打开 SSH 会话并输入“。/GPIOServer.sh”这只是为了防止机器断电,我希望程序在启动时自动启动。
谢谢!
答案1
您正在使用哪个版本的操作系统?
根据情况,你基本上有两个选择:
/etc/rc.local
您可以将可执行文件添加到位于 Redhat 发行版的 rc.local 文件中:/etc/rc.local
。您可以简单地将其添加./GPIOServer.sh
到此文件的末尾。
/etc/init.d/
如果您希望将其作为服务,则需要添加类似于 中的脚本/etc/init.d/
。在基于 Redhat 的发行版中,还有一个工具可帮助管理这些脚本,称为chkconfig
。请参阅手册页以获取更多信息,并查看 中的其他脚本/etc/init.d
以获取有关如何处理此问题的想法。
以下是一个可帮助您入门的示例:
#! /bin/sh
# Basic support for IRIX style chkconfig
###
# chkconfig: 235 98 55
# description: Manages the services you are controlling with the chkconfig command
###
case "$1" in
start)
echo -n "Starting new-service"
#To run it as root:
/path/to/command/to/start/new-service
#Or to run it as some other user:
/bin/su - username -c /path/to/command/to/start/new-service
echo "."
;;
stop)
echo -n "Stopping new-service"
#To run it as root:
/path/to/command/to/stop/new-service
#Or to run it as some other user:
/bin/su - username -c /path/to/command/to/stop/new-service
echo "."
;;
*)
echo "Usage: /sbin/service new-service {start|stop}"
exit 1
esac
exit 0
答案2
对于 raspberry-pi,最简单的方法就是在文件中添加一行包含脚本完整路径的内容/etc/rc.local
。