本篇內(nèi)容介紹了“CentOS如何運(yùn)行與控制后臺(tái)進(jìn)程”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
為下陸等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及下陸網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、下陸網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!我們經(jīng)常會(huì)碰到這樣的問題,用ssh登錄了遠(yuǎn)程的Linux服務(wù)器,運(yùn)行了一些耗時(shí)較長(zhǎng)的任務(wù),結(jié)果卻由于網(wǎng)絡(luò)等的不穩(wěn)定導(dǎo)致任務(wù)中途失敗。
這是由于在用戶注銷(logout)或者網(wǎng)絡(luò)斷開時(shí),終端會(huì)收到 HUP(hangup)信號(hào)從而關(guān)閉其所有子進(jìn)程。
解決辦法有兩種:讓進(jìn)程忽略HUP信號(hào),或讓進(jìn)程運(yùn)行在新的會(huì)話里從而成為不屬于此終端的子進(jìn)程。
下面是對(duì)Linux下運(yùn)行與控制后臺(tái)進(jìn)程的各種方法的介紹:
1.nohup
顧名思義,nohup的用途就是讓提交的命令忽略所有的hangup信號(hào)。
使用方法:nohup COMMAND [ARG]...
2.setsid
在一個(gè)新的會(huì)話中運(yùn)行命令,從而可以避開當(dāng)前終端發(fā)出的HUP信號(hào)。
使用方法:setsid COMMAND [ARG]...
3.&
可以結(jié)合()產(chǎn)生一個(gè)新的子shell并在這個(gè)子shell中將任務(wù)放置到后臺(tái)運(yùn)行,從而不受當(dāng)前shell終端的HUP信號(hào)影響。
使用方法:(COMMAND [ARG]... &)
而我通常的使用方式為:
nohup ./filename.sh > filename.log 2>&1 &
nohup ./filename.sh &> filename.log &
三點(diǎn)理由:
1)nohup保障進(jìn)程不會(huì)被hangup信號(hào)異常中斷;
2)將任務(wù)放置到后臺(tái)運(yùn)行,不占用當(dāng)前的終端;
3)將錯(cuò)誤輸出也打印到log中,默認(rèn)>只有標(biāo)準(zhǔn)輸出,錯(cuò)誤輸出沒有。
4.控制進(jìn)程
通過以下命令,我們可以對(duì)放入到后臺(tái)的命令進(jìn)行控制
查看當(dāng)前終端下的后臺(tái)進(jìn)程:
直接執(zhí)行:jobs
將查看到的某個(gè)后臺(tái)進(jìn)程放回到前臺(tái):
直接輸入:fg {jobid} //這里的{jobid}是通過jobs命令中看到的進(jìn)程前[]中的數(shù)字。
將當(dāng)前正在前臺(tái)運(yùn)行的進(jìn)程放到后臺(tái)運(yùn)行:
先敲下快捷鍵:ctrl +z //暫停當(dāng)前正在運(yùn)行的進(jìn)程。
再執(zhí)行:bg
終止當(dāng)前正在前臺(tái)運(yùn)行的進(jìn)程:
直接敲下快捷鍵:ctrl +c
5.disown
亡羊補(bǔ)牢,為沒有使用nohup與setsid的進(jìn)程加上忽略HUP信號(hào)的功能。
使用方法:
將當(dāng)前正在前臺(tái)運(yùn)行的進(jìn)程放到后臺(tái)運(yùn)行;
然后執(zhí)行disown -h %{jobid} //這里的{jobid}是通過jobs命令中看到的進(jìn)程前[]中的數(shù)字。
6.通過screen來實(shí)現(xiàn)穩(wěn)定的后臺(tái)運(yùn)行
screen是建立一個(gè)新的全屏虛擬會(huì)話終端,這個(gè)會(huì)話只有在手動(dòng)輸入exit的時(shí)候才會(huì)退出,在這個(gè)會(huì)話里執(zhí)行的命令不用擔(dān)心HUP信號(hào)會(huì)對(duì)我們的進(jìn)程 造成影響,因此也不用給每個(gè)命令前都加上“nohup”或“setsid”了,非常適合我們有規(guī)劃的執(zhí)行大量的后臺(tái)任務(wù),可以非常方便的讓我們對(duì)這些后臺(tái) 任務(wù)進(jìn)行管理。
使用方法:
screen //立即創(chuàng)建并進(jìn)入一個(gè)會(huì)話。
screen -dmS {name} //建立一個(gè)處于斷開模式下的會(huì)話,并根據(jù)我們的需要指定其會(huì)話名稱。
screen -list //列出所有會(huì)話。
screen -r {name} //以獨(dú)占方式進(jìn)入指定會(huì)話。
screen -x {name} //以并行方式進(jìn)入指定會(huì)話。
ctrl +ad //輸入快捷鍵ctrl +a和d,可暫時(shí)退出當(dāng)前會(huì)話。
exit //進(jìn)入指定會(huì)話后執(zhí)行exit即可關(guān)閉該會(huì)話。
“CentOS如何運(yùn)行與控制后臺(tái)進(jìn)程”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
當(dāng)前名稱:CentOS如何運(yùn)行與控制后臺(tái)進(jìn)程-創(chuàng)新互聯(lián)
當(dāng)前路徑:http://aaarwkj.com/article2/coggoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、品牌網(wǎng)站制作、網(wǎng)站收錄、軟件開發(fā)、網(wǎng)站排名、網(wǎng)頁(yè)設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
網(wǎng)頁(yè)設(shè)計(jì)公司知識(shí)