兩步添加開機啟動,如下:
這個腳本需要放在/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
update-rc.d test defaults 91
test就是第一步中編寫的腳本名稱,在/etc/ini.d目錄下面。通過這條命令,就可以把該應用添加到開機啟動了。
與Ubuntu方法類似, 也需要兩步,只是腳本和命令有點區別:
這個腳本依然是放在/etc/init.d/下面,但是多了兩行如下參數:
#chkconfig:?2345?60?82
#description:?Starttest
chkconfig后面有三個參數2345,60和82告訴chkconfig程序,需要在/etc/rc.d/rc2.d~rc5.d目錄下,創建名字為 S60teststart的文件連接,連接到/etc/rc.d/init.d目錄下的的teststart腳本。
第一個字符是S,系統在啟動的時候,運行腳本teststart,就會添加一個start參數,告訴腳本,現在是啟動模式。
同時在/etc/rc.d/rc0.d和/etc/rc.d/rc6.d目錄下,創建名字為K82teststart的文件連接,第一個字符為K,在關閉系統的時候,會運行teststart,添加一個stop參數,告訴腳本,現在是關閉模式。
#!?/bin/sh
#chkconfig:??2345?60?82
#description:?Starttest
此處省略N個子
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:關
推薦閱讀
01 |加入嵌入式交流群 |
02 |嵌入式資源獲取 |
03 |STM32中斷優先級詳解 |
04 |STM32下載程序新思路--使用串口下載程序 |

