並非所有的Linux系統使用相同的init
守護進程(Ubuntu使用暴發戶:http://upstart.ubuntu.com/getting-started.html),但它們都使用start
和stop
功能的腳本。其他常見的功能是status
和restart
,但同樣,有一刀切的標準沒有真正的。例如:
!#/bin/sh
start() {
echo "application started";
./helloworld # you should use an absolute path here instead of ./
}
stop() {
}
case "$1" in
start)
start
;;
stop)
stop
;;
*)
echo "Usage start|stop";
esac
exit $?
的最後一位是基於第一個命令行參數開關,因爲init將調用腳本myrcscript start
。
爲了使用stop()
(和也經常有用restart()
),你需要保持,或者能夠得到,通過start()
推出進程的PID;有時這是在/ tmp目錄有點「pid文件」完成(含PID文本文件,如/tmp/myscript.pid在開始創建())。
的「暴發戶」的init在Ubuntu上使用的守護進程都有自己特定的功能,但除非你需要使用它們,只是不停地啓動/停止最小的,它會(可能)在任何地方工作。
你的問題是潛在的題外話這裏(因此)(請參閱[常見問題#問題])等,我投票給它進行遷移。我發佈了一個簡短的回答,以幫助您入門,但要做好準備,以便關閉/遷移。 –
這是一個腳本如何編碼的問題(需要「開始/停止」),這使得它成爲一個編程問題。這個題目是怎麼回事? – delicateLatticeworkFever
@goldilocks這是一個非常有效的shell腳本,在編程方面。但是,操作系統的規格正在阻止它按需執行。這個問題很可能會改寫爲*「如何在XYZ版本的Ubuntu中自動執行腳本啓動?」*。恕我直言,這是題外話。 –