추가할 일반적으로 사용되는 Linux 시작 방법

우분투는 부팅 시작을 추가합니다

부팅을 추가하는 두 단계:

1. 다음과 같이 부팅 스크립트를 작성합니다.

이 스크립트는 /etc/init.d/ 아래에 위치해야 합니다.

#! /bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/test
NAME=test
DESC=test
PID=/var/run/test/test.pid

test -x $DAEMON || exit 0

set -e

case "$1" in
  start)
        echo -n "Starting $DESC: "
        start-stop-daemon --start --quiet --pidfile $PID \
                --name $NAME --exec $DAEMON -- $DAEMON_OPTS
        echo "$NAME."
        ;;
  stop)
        echo -n "Stopping $DESC: "
        start-stop-daemon -K --quiet --pidfile $PID \
                --name $NAME
	killall -9 dc
        echo "$NAME."
        ;;
  restart|force-reload)
        echo -n "Restarting $DESC: "
        start-stop-daemon -K --quiet --pidfile $PID \
                --name $NAME
        sleep 1
        start-stop-daemon --start --quiet --pidfile $PID \
                --name $NAME --exec $DAEMON -- $DAEMON_OPTS
        echo "$NAME."
        ;;
  reload)
      echo -n "Reloading $DESC configuration: "
      start-stop-daemon --stop --signal HUP --quiet --pidfile $PID \
          --exec $DAEMON
      echo "$NAME."
      ;;
  *)
        N=/etc/init.d/$NAME
        echo "Usage: $N {start|stop|restart|force-reload}" >&2
        exit 1
        ;;
esac

exit 0

2. 시작에 추가

update-rc.d test defaults 91

test는 첫 번째 단계에서 /etc/ini.d 디렉토리 아래에 작성된 스크립트의 이름입니다.
이 명령을 통해 부팅 시작에 응용 프로그램을 추가할 수 있습니다.

Centos는 부팅 시작을 추가합니다.

Ubuntu 방법과 마찬가지로 두 단계가 필요하지만 스크립트와 명령이 약간 다릅니다.

1.각본

이 스크립트는 여전히 /etc/init.d/ 아래에 있지만 다음과 같은 두 줄의 매개변수가 더 있습니다.
#chkconfig: 2345 60 82 : chkconfig 뒤에 세 개의 매개변수 2345, 60 및 82가 있어 chkconfig 프로그램에 /etc/rc에 있어야 합니다. .d/rc2.d~rc5.d 디렉토리에서 S60teststart라는 파일 연결을 만들고 /etc/rc.d/init.d 디렉토리의 teststart 스크립트에 연결합니다. 첫 번째 문자는 S입니다. 시스템이 시작되면 teststart 스크립트를 실행하면 이제 시작 모드에 있음을 스크립트에 알려주는 시작 매개변수가 추가됩니다.
동시에 /etc/rc.d/rc0.d 및 /etc/rc.d/rc6.d 디렉토리에서 K82teststart라는 파일 연결을 만들고 첫 번째 문자는 K이며 teststart는 시스템이 종료되면 중지 매개변수를 추가하여 현재 종료 모드에 있음을 스크립트에 알립니다.

#! /bin/sh
#chkconfig:  2345 60 82
#description: Starttest

PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/test
NAME=test
DESC=test
PID=/var/run/test/test.pid

test -x $DAEMON || exit 0

set -e

case "$1" in
  start)
        echo -n "Starting $DESC: "
        start-stop-daemon --start --quiet --pidfile $PID \
                --name $NAME --exec $DAEMON -- $DAEMON_OPTS
        echo "$NAME."
        ;;
  stop)
        echo -n "Stopping $DESC: "
        start-stop-daemon -K --quiet --pidfile $PID \
                --name $NAME
	killall -9 dc
        echo "$NAME."
        ;;
  restart|force-reload)
        echo -n "Restarting $DESC: "
        start-stop-daemon -K --quiet --pidfile $PID \
                --name $NAME
        sleep 1
        start-stop-daemon --start --quiet --pidfile $PID \
                --name $NAME --exec $DAEMON -- $DAEMON_OPTS
        echo "$NAME."
        ;;
  reload)
      echo -n "Reloading $DESC configuration: "
      start-stop-daemon --stop --signal HUP --quiet --pidfile $PID \
          --exec $DAEMON
      echo "$NAME."
      ;;
  *)
        N=/etc/init.d/$NAME
        echo "Usage: $N {start|stop|restart|force-reload}" >&2
        exit 1
        ;;
esac

exit 0

2. 시작에 추가

chkconfig --add test #添加启动
chkconfig #查看当前启动列表


注:该输出结果只显示 SysV 服务,并不包含
原生 systemd 服务。SysV 配置数据
可能被原生 systemd 配置覆盖。 

      要列出 systemd 服务,请执行 'systemctl list-unit-files'
      查看在具体 target 启用的服务请执行
      'systemctl list-dependencies [target]'

test           	0:关	1:关	2:开	3:开	4:开	5:开	6:关
mysqld         	0:关	1:关	2:开	3:开	4:开	5:开	6:关
netconsole     	0:关	1:关	2:关	3:关	4:关	5:关	6:关
network        	0:关	1:关	2:开	3:开	4:开	5:开	6:关

[펜노트]에 오신 것을 환영합니다

Guess you like

Origin blog.csdn.net/wuquan_1230/article/details/128343587