Linux筆記---設置程序開機自啓動

Linux系統下,如何使程序開機自啓動。可以通過修改開機啓動腳本 /etc/init.d/rcS ,添加要啓動程序的路徑完成。

比如,內核4.1.15中/etc/init.d/rcS修改如下:

#!/bin/sh
#
# rcS		Call all S??* scripts in /etc/rcS.d in
#		numerical/alphabetical order.
#
# Version:	@(#)/etc/init.d/rcS  2.76  19-Apr-1999  [email protected]
#

PATH=/sbin:/bin:/usr/sbin:/usr/bin
runlevel=S
prevlevel=N
umask 022
export PATH runlevel prevlevel
export QT_QPA_PLATFORM=eglfs
export FB_MULTI_BUFFER=2
#/usr/bin/dashboard &
/usr/bin/3Ddash &
#/usr/bin/serialPort &
#	Make sure proc is mounted
#
[ -d "/proc/1" ] || mount /proc

#
#	Source defaults.
#
. /etc/default/rcS

#
#	Trap CTRL-C &c only in this shell so we can interrupt subprocesses.
#
trap ":" INT QUIT TSTP

#
#	Call all parts in order.
#
exec /etc/init.d/rc S

其中:

PATH=/sbin:/bin:/usr/sbin:/usr/bin

設置默認有效執行路徑

runlevel=S

The following runlevels are defined:

   N       System bootup (NONE).
   S       Single user mode (not to be switched to directly)
   0       halt
   1       single user mode
   2 .. 5  multi user mode
   6       reboot

用戶等級,“S"表示單用戶;

prevlevel=N
目前不太清楚,貌似shell變量

umask 022
權限的基本碼-umask(屏蔽位),按規定,文件夾的基本碼rwxrwxrwx(777),文件的基本碼rw-rw-rw-(666)
umask的值在文件中有設定,默認情況下是022

export PATH runlevel prevlevel
export用於傳遞一個或多個變量的值到其他shell,相當於聲明瞭一些“全局變量”

#/usr/bin/dashboard &
/usr/bin/3Ddash &
#/usr/bin/serialPort &
爲添加的自啓動程序路徑,注意要包含在PATH中,這樣纔是有效路徑

trap ":" INT QUIT TSTP
捕捉INT、QUIT、TSTP信號
trap 爲shell中捕捉信號的命令,其基本形式有三種:
(1)trap "cmd" signal-list
trap收到與signal-list列出的信號相同時,執行cmd命令
(2)trap  signal-list
執行信號的本身默認的操作
(3)trap " " signal-list
忽視signal-list指定的信號

exec /etc/init.d/rc S

轉去執行/etc/init.d/rc的文件內容

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章