背景 :工作需要,需要遠程控制主機使其斷開Xshell后也能一直運行。
目前創(chuàng)新互聯(lián)建站已為超過千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站改版維護、企業(yè)網(wǎng)站設(shè)計、昭化網(wǎng)站維護等服務(wù),公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
關(guān)鍵字 : ,nohup,腳本掛起。
在應用Unix/Linux時,我們一般想讓某個程序在后臺運行,于是我們將常會用 在程序結(jié)尾來讓程序自動運行。
鍵入Ctrl + C,發(fā)出SIGINT信號,程序會繼續(xù)運行
方法一、輸入命令:jobs
方法二:輸入命令:ps
fg、bg、jobs、、nohup、ctrl+z、ctrl+c 命令
加在一個命令的最后,可以把這個命令放到后臺執(zhí)行,如
可以將一個正在前臺執(zhí)行的命令放到后臺,并且處于暫停狀態(tài)。
查看當前有多少在后臺運行的命令
jobs -l選項可顯示所有任務(wù)的PID,jobs的狀態(tài)可以是running, stopped, Terminated。但是如果任務(wù)被終止了(kill),shell 從當前的shell環(huán)境已知的列表中刪除任務(wù)的進程標識。
將后臺中的命令調(diào)至前臺繼續(xù)運行。如果后臺中有多個命令,可以用fg %jobnumber(是命令編號,不是進程號)將選中的命令調(diào)出。
將一個在后臺暫停的命令,變成在后臺繼續(xù)執(zhí)行。如果后臺中有多個命令,可以用bg %jobnumber將選中的命令調(diào)出。
法子1:通過jobs命令查看job號(假設(shè)為num),然后執(zhí)行kill %num
法子2:通過ps命令查看job的進程號(PID,假設(shè)為pid),然后執(zhí)行kill pid
前臺進程的終止:Ctrl+c
如果讓程序始終在后臺執(zhí)行,即使關(guān)閉當前的終端也執(zhí)行(之前的做不到),這時候需要nohup。該命令可以在你退出帳戶/關(guān)閉終端之后繼續(xù)運行相應的進程。
關(guān)閉中斷后,在另一個終端jobs已經(jīng)無法看到后臺跑得程序了,此時利用ps(進程查看命令)
如上所示:
nohup 和 組合了后臺運行程序。
可以輸出到 out.log保存程序輸出,也可以輸出到/dev/null 即空設(shè)備,不保存輸出。
上面三種方式無論在nohup.out 或test.out都看不到數(shù)據(jù)結(jié)果,這是因為python執(zhí)行有緩存輸出
解決
新的接口接入查看程序
使用后臺運行程序:
結(jié)果會輸出到終端
使用Ctrl + C發(fā)送SIGINT信號, 程序免疫
關(guān)閉session發(fā)送SIGHUP信號, 程序關(guān)閉
使用nohup運行程序:
結(jié)果默認會輸出到nohup.out
使用Ctrl + C發(fā)送SIGINT信號, 程序關(guān)閉
關(guān)閉session發(fā)送SIGHUP信號, 程序免疫
平日線上經(jīng)常使用nohup和配合來啟動程序:
同時免疫SIGINT和SIGHUP信號
同時,還有一個最佳實踐:
不要將信息輸出到終端標準輸出,標準錯誤輸出,而要用日志組件將信息記錄到日志里
nohup和究竟有啥區(qū)別
命令后直接加,這個命令就在后臺執(zhí)行;
正在運行的命令,使用Ctrl+z,就掛起;
jobs命令,可以現(xiàn)實后臺,包括掛起的命令;
使用bg?%作業(yè)號?就可以把掛起的命令在后臺執(zhí)行;
使用fg??%作業(yè)號?就可以把后臺命令調(diào)到前臺。
命令運行時使用CTRL+Z,強制當前進程轉(zhuǎn)為后臺,并使之掛起(暫停).\x0d\x0a1. 使進程恢復運行(后臺)\x0d\x0a(1)使用命令bg\x0d\x0aExample:\x0d\x0azuii@zuii-desktop:~/unp/tcpcliserv$ ./tcpserv01\x0d\x0a*這里使用CTRL+Z,此時serv01是停止狀態(tài)*\x0d\x0a[1]+ Stopped ./tcpserv01\x0d\x0azuii@zuii-desktop:~/unp/tcpcliserv$ bg\x0d\x0a[1]+ ./tcpserv01 *此時serv01運行在后臺*\x0d\x0azuii@zuii-desktop:~/unp/tcpcliserv$\x0d\x0a(2)如果用CTRL+Z停止了幾個程序呢?\x0d\x0aExample:\x0d\x0azuii@zuii-desktop:~/unp/tcpcliserv$ jobs\x0d\x0a[1]- Running ./tcpserv01 \x0d\x0a[2]+ Stopped ./tcpcli01 127.0.0.1\x0d\x0azuii@zuii-desktop:~/unp/tcpcliserv$ bg %1\x0d\x0abash: bg:任務(wù) 1 已轉(zhuǎn)入后臺 *后臺運行*\x0d\x0a2. 使進程恢復至前臺運行\(zhòng)x0d\x0aExample:\x0d\x0azuii@zuii-desktop:~/unp/tcpcliserv$ ./tcpserv04\x0d\x0a[1]+ Stopped ./tcpserv04\x0d\x0azuii@zuii-desktop:~/unp/tcpcliserv$ fg\x0d\x0a./tcpserv04\x0d\x0a總結(jié):\x0d\x0a(1) CTRL+Z掛起進程并放入后臺\x0d\x0a(2) jobs 顯示當前暫停的進程\x0d\x0a(3) bg %N 使第N個任務(wù)在后臺運行(%前有空格)\x0d\x0a(4) fg %N 使第N個任務(wù)在前臺運行\(zhòng)x0d\x0a默認bg,fg不帶%N時表示對最后一個進程操作!
網(wǎng)站欄目:linux掛起命令 linux 掛起命令
轉(zhuǎn)載源于:http://muchs.cn/article46/dohdjeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計、ChatGPT、移動網(wǎng)站建設(shè)、品牌網(wǎng)站制作、企業(yè)建站、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)