Linux启动脚本是一种自动化脚本,用于在系统启动时执行一系列命令。这些脚本通常位于 /etc/init.d/
或 /etc/rc.d/
目录下,根据不同的Linux发行版和初始化系统(如Systemd、SysVinit等),脚本的位置和命名可能会有所不同。
S
开头,表示启动顺序。/etc/systemd/system/
目录下。假设我们要编写一个启动脚本,用于启动一个名为 my_service
的服务。
#!/bin/bash
# /etc/init.d/my_service
### BEGIN INIT INFO
# Provides: my_service
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start and stop the my_service daemon
# Description: Enable service provided by my_service.
### END INIT INFO
DAEMON=/usr/local/bin/my_service
NAME=my_service
DESC="My Service"
test -x $DAEMON || exit 0
set -e
case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid
echo "$NAME."
;;
restart|force-reload)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid
sleep 1
start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON
echo "$NAME."
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reflow}" >&2
exit 1
;;
esac
exit 0
#!/bin/bash
指定脚本解释器为Bash。start
、stop
、restart
)执行相应的操作。通过以上步骤,你可以编写一个基本的Linux启动脚本,并使其在系统启动时自动执行。
领取专属 10元无门槛券
手把手带您无忧上云