在很多時候,我們都會發現有一些指令或者服務,執行后是一種持續監控運行的狀態,不能退出,該終端標簽頁也不能關閉。
創新互聯是一家集網站建設,巴馬企業網站建設,巴馬品牌網站建設,網站定制,巴馬網站建設報價,網絡營銷,網絡優化,巴馬網站推廣為一體的創新建站企業,幫助傳統企業提升企業形象加強企業競爭力。可充分滿足這一群體相比中小企業更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們為更多的企業打造出實用型網站。
這就帶來了很多不便,那么如何讓其在后臺持續運行,退出運行狀態和關閉終端標簽頁也不影響呢?
方法就是在該命令后面加? ? ?符號,即可。
示例
gocron的客戶端服務運行命令,./gocron web
圖2退出和關閉標簽頁后,圖三依然如此,服務也可以使用。
當集群之間使用scp拷貝大容量文件時,往往需要將其放入后臺進行運行,但scp需要輸入用戶密碼,因此我們可以將scp進程暫停后放入后臺運行,具體步驟如下:
1、scp big_file xxx@xx.xx.xx.xx:~
2、ctrl+z鍵 (暫停終端命令窗口正在運行的進程)
3、bg %1 (將暫停的進程放入后臺運行)
4、jobs (查看后臺運行的進程)
ps:
bg命令基本格式為 bg %工作號(可通過jobs命令查看暫停和后臺運行的進程工作號)
背景 :工作需要,需要遠程控制主機使其斷開Xshell后也能一直運行。
關鍵字 : ,nohup,腳本掛起。
在應用Unix/Linux時,我們一般想讓某個程序在后臺運行,于是我們將常會用 在程序結尾來讓程序自動運行。
鍵入Ctrl + C,發出SIGINT信號,程序會繼續運行
方法一、輸入命令:jobs
方法二:輸入命令:ps
fg、bg、jobs、、nohup、ctrl+z、ctrl+c 命令
加在一個命令的最后,可以把這個命令放到后臺執行,如
可以將一個正在前臺執行的命令放到后臺,并且處于暫停狀態。
查看當前有多少在后臺運行的命令
jobs -l選項可顯示所有任務的PID,jobs的狀態可以是running, stopped, Terminated。但是如果任務被終止了(kill),shell 從當前的shell環境已知的列表中刪除任務的進程標識。
將后臺中的命令調至前臺繼續運行。如果后臺中有多個命令,可以用fg %jobnumber(是命令編號,不是進程號)將選中的命令調出。
將一個在后臺暫停的命令,變成在后臺繼續執行。如果后臺中有多個命令,可以用bg %jobnumber將選中的命令調出。
法子1:通過jobs命令查看job號(假設為num),然后執行kill %num
法子2:通過ps命令查看job的進程號(PID,假設為pid),然后執行kill pid
前臺進程的終止:Ctrl+c
如果讓程序始終在后臺執行,即使關閉當前的終端也執行(之前的做不到),這時候需要nohup。該命令可以在你退出帳戶/關閉終端之后繼續運行相應的進程。
關閉中斷后,在另一個終端jobs已經無法看到后臺跑得程序了,此時利用ps(進程查看命令)
如上所示:
nohup 和 組合了后臺運行程序。
可以輸出到 out.log保存程序輸出,也可以輸出到/dev/null 即空設備,不保存輸出。
上面三種方式無論在nohup.out 或test.out都看不到數據結果,這是因為python執行有緩存輸出
解決
新的接口接入查看程序
使用后臺運行程序:
結果會輸出到終端
使用Ctrl + C發送SIGINT信號, 程序免疫
關閉session發送SIGHUP信號, 程序關閉
使用nohup運行程序:
結果默認會輸出到nohup.out
使用Ctrl + C發送SIGINT信號, 程序關閉
關閉session發送SIGHUP信號, 程序免疫
平日線上經常使用nohup和配合來啟動程序:
同時免疫SIGINT和SIGHUP信號
同時,還有一個最佳實踐:
不要將信息輸出到終端標準輸出,標準錯誤輸出,而要用日志組件將信息記錄到日志里
nohup和究竟有啥區別
網站名稱:linux把命令放入后臺 linux如何將命令結果輸出到文件
URL標題:http://m.newbst.com/article48/doghshp.html
成都網站建設公司_創新互聯,為您提供ChatGPT、自適應網站、響應式網站、網站建設、做網站、企業網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯