原文及更新:
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名注冊、虛擬主機(jī)、營銷軟件、網(wǎng)站建設(shè)、武勝網(wǎng)站維護(hù)、網(wǎng)站推廣。
直接在/etc/rc.local(/etc/rc.d/rc.local)文件中添加即可
上面這腳本實際上在使用時出現(xiàn)了問題, /home/neucrack/software/ss/start_ss_local.sh 這個命令始終沒有被執(zhí)行,原因是 /home/neucrack/software/ss/start_kcptun_client.sh 中的命令阻塞了進(jìn)程,導(dǎo)致后面一句始終沒有執(zhí)行,可以將他們分別放到后臺執(zhí)行就行了,如何在后臺執(zhí)行可以看文章最后一部分
也可以自己手動在rc*.d中建立軟連接
桌面系統(tǒng)搜索 啟動 ,打開啟動管理器 添加刪除即可
一般有以下幾種方法:
1)在輸入命令的最前面加上 nohup 命令
如 nohup your_command 這樣命令在你退出后仍然會在后臺執(zhí)行
2) setsid 命令
setsid your_command 該命令的結(jié)果是使你所運(yùn)行的命令的父進(jìn)程為init,所以只有關(guān)機(jī)該進(jìn)程才會停止
3) (your_command )
就是用括號將你的命令括起來,這樣做也是使命令的父進(jìn)程為init
4) disown
當(dāng)你在命令行下輸入 your_command 后命令就在后臺執(zhí)行了,然后執(zhí)行jobs命令,該命令會列出當(dāng)前正在后臺執(zhí)行的命令。例如輸入命令“top”
然后執(zhí)行"jobs"
輸出結(jié)果是
[1] + Suspended (tty output) top
注意行開頭方括號內(nèi)的數(shù)字,該數(shù)字叫做jobspec,是給當(dāng)前后臺運(yùn)行的job的編號。這是你只要在命令行下輸入"disown -h 1" 后臺運(yùn)行的top命令就不會受到hangup信號的影響了。
5)使用 screen 命令
在命令行下輸入screen命令就開啟了一個screen進(jìn)程,它就好像是一個全新的命令運(yùn)行環(huán)境,在該環(huán)境中你可以像在正常的terminal下那樣執(zhí)行
命令,但是這個screen是不受其父進(jìn)程的hangup信號的影響的,既然screen不受其父進(jìn)程影響,當(dāng)你意外掉線或者退出系統(tǒng)時,在screen
中仍在執(zhí)行的命令仍然會繼續(xù)執(zhí)行。關(guān)于screen命令的使用方法你可以再去查閱相關(guān)資料。
linux設(shè)置開機(jī)自啟動執(zhí)行命令 :
執(zhí)行命令 : 編輯"/etc/rc.local",添加你想開機(jī)運(yùn)行的命令
運(yùn)行程序腳本 :然后在文件最后一行添加要執(zhí)行程序的全路徑。
例如,每次開機(jī)時要執(zhí)行一個hello.sh,這個腳本放在/usr下面,那就可以在"/etc/rc.local"中加一行"/usr/./hello.sh",或者" cd /opt ./hello.sh "
注意,你的命令應(yīng)該添加在:exit 0 之前
linux在“/etc/rc.d/init.d”下有很多的文件,每個文件都是可以看到內(nèi)容的,其實都是一些shell腳本或者可執(zhí)行二進(jìn)制文件 Linux開機(jī)的時候,會加載運(yùn)行/etc/init.d目錄下的程序,因此我們可以把想要自動運(yùn)行的腳本放到這個目錄下即可。系統(tǒng)服務(wù)的啟動就是通過這種方式實現(xiàn)的。
簡單的說,運(yùn)行級就是操作系統(tǒng)當(dāng)前正在運(yùn)行的功能級別。
例:在Ubuntu/debain里,可以使用update-rc.d命令來把示例腳本:/etc/init.d/proxy安裝到各個runlevel中。
update-rc.d后面有三個參數(shù),分別是/etc/init.d下的腳本名字,默認(rèn)安裝方式,運(yùn)行的優(yōu)先級。優(yōu)先級的數(shù)字越大,表示越遲運(yùn)行,這里我們把自己寫的服務(wù)放在最后運(yùn)行。
如果要卸載隨機(jī)啟動的服務(wù),執(zhí)行
在update-rc.d安裝的時候提示了警告信息,是因為我們寫的/etc/init.d/proxy太簡陋了,只包含了我們想要的命令,連LSB的信息也沒有提供。
只需要對自啟動腳本做一些小改動,就可以避免那個警告了。如下:
到此,一個最簡單的隨機(jī)啟動服務(wù)寫好了,看起來文章挺長的,但其實也就幾個命令而已。 在下次開機(jī)啟動的時候,proxy.py就會以root用戶身份被自動運(yùn)行。
在/etc/init.d下新建示例腳本文件(startTest.sh),該腳本會啟動/opt/test.sh。內(nèi)容如下:
寫了腳本文件之后事情還沒有完,繼續(xù)完成以下幾個步驟:
用戶想要在linux開機(jī)的時候自啟動相關(guān)的程序。那我們要怎么設(shè)置呢?下面由我為大家整理了linux下開機(jī)自啟動命令的相關(guān)知識,希望對大家有所幫助!
linux下開機(jī)自啟動命令
1.開機(jī)啟動時自動運(yùn)行程序
Linux加載后, 它將初始化硬件和設(shè)備驅(qū)動, 然后運(yùn)行第一個進(jìn)程init。init根據(jù)配置文件繼續(xù)引導(dǎo)過程,啟動其它進(jìn)程。通常情況下,修改放置在 /etc/rc或 /etc/rc.d 或 /etc/rc?.d 目錄下的腳本文件,可以使init自動啟動其它程序。
例如:編輯 /etc/rc.d/rc.local 文件,在文件最末加上一行"xinit"或"startx",可以在開機(jī)啟動后直接進(jìn)入X-Window。
擴(kuò)展:其他情況下linux自啟動程序命令
2.登錄時自動運(yùn)行程序
用戶登錄時,bash首先自動執(zhí)行系統(tǒng)管理員建立的全局登錄script :/etc/profile。然后bash在用戶起始目錄下按順序查找三個特殊文件中的一個:/.bash_profile、/.bash_login、 /.profile,但只執(zhí)行最先找到的一個。
因此,只需根據(jù)實際需要在上述文件中加入命令就可以實現(xiàn)用戶登錄時自動運(yùn)行某些程序(類似于DOS下的Autoexec.bat)。
3.退出登錄時自動運(yùn)行程序
退出登錄時,bash自動執(zhí)行個人的退出登錄腳本/.bash_logout。例如,在/.bash_logout中加入命令"tar -cvzf c.source.tgz *.c",則在每次退出登錄時自動執(zhí)行 "tar" 命令備份 *.c 文件。
4.定期自動運(yùn)行程序
linux有一個稱為crond的守護(hù)程序,主要功能是周期性地檢查 /var/spool/cron目錄下的一組命令文件的內(nèi)容,并在設(shè)定的時間執(zhí)行這些文件中的命令。用戶可以通過crontab 命令來建立、修改、刪除這些命令文件。
例如,建立文件crondFile,內(nèi)容為"00 9 23 Jan * HappyBirthday",運(yùn)行"crontab cronFile"命令后,每當(dāng)元月23日上午9:00系統(tǒng)自動執(zhí)行"HappyBirthday"的程序("*"表示不管當(dāng)天是星期幾)。 (/etc/crontab中配置命令即可)也可以
5.定時自動運(yùn)行程序一次
定時執(zhí)行命令at 與crond 類似(但它只執(zhí)行一次):命令在給定的時間執(zhí)行,但不自動重復(fù)。at命令的一般格式為:at [ -f file ] time ,在指定的時間執(zhí)行file文件中所給出的所有命令。也可直接從鍵盤輸入命令:
6.創(chuàng)建開機(jī)自啟動腳本
1) 將你的啟動腳本復(fù)制到 /etc/init.d目錄下
以下假設(shè)你的腳本文件名為 test。
2) 設(shè)置腳本文件的權(quán)限
$ sudo chmod 755 /etc/init.d/test
3) 執(zhí)行如下命令將腳本放到啟動腳本中去:
$ cd /etc/init.d
$ sudo update-rc.d test defaults 95
注:其中數(shù)字95是腳本啟動的順序號,按照自己的需要相應(yīng)修改即可。在你有多個啟動腳本,而它們之間又有先后啟動的依賴關(guān)系時你就知道這個數(shù)字的具體作用了。該命令的輸出信息參考如下:
update-rc.d: warning: /etc/init.d/test missing LSB informationupdate-rc.d: see
卸載啟動腳本的方法:
$ cd /etc/init.d
$ sudo update-rc.d -f test remove
命令輸出的信息參考如下:
Removing any system startup links for /etc/init.d/test … /etc/rc0.d/K95test /etc/rc1.d/K95test /etc/rc2.d/S95test /etc/rc3.d/S95test /etc/rc4.d/S95test /etc/rc5.d/S95test /etc/rc6.d/K95test