最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺析Linux中使用nohup及screen運行后臺任務(wù)的示例和區(qū)別

 更新時間:2019年07月10日 09:15:31   作者:行星帶  
這篇文章主要介紹了Linux中使用nohup及screen運行后臺任務(wù)的示例和區(qū)別,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下

使用SSH終端(比如putty,xshell)連接Linux服務(wù)器上運行比較耗時任務(wù),可能需要幾個小時甚至幾天才能完成,這時候終端被占據(jù),我們還要做其他的任務(wù)呢,所以需要將這一類耗時任務(wù)放到后臺來跑,只需要記錄好日志就行了,有下面這些常用方法來實現(xiàn)這個需求。

command &

在終端輸入command &運行,這時候使用Ctrl + C中止命令將會失效,因為對&后臺運行SIGINT1信號免疫,程序會繼續(xù)運行。 但如果你直接關(guān)掉終端, 進程將跟著中止。 可見,使用&后臺運行的進程會被SIGHUP2信號中止,但是你如果用exit命令正常退出終端,程序?qū)⒗^續(xù)運行在后臺不會中止。

nohup command

標準輸出會被默認追加到當前目錄下的nohup.out中,如果當前目錄的nohup.out文件不可寫,輸出重定向到 $HOME/nohup.out文件中。

那么,我們很容易想到將這兩個特性綜合一下這樣運行命令:

nohup command > /home/user/myfile.log 2>&1 &

這樣將會在后臺一直執(zhí)行這個任務(wù)直到完成,并將程序標準輸出(1)標準錯誤(2)都定向到/home/user/myfile.log文件中。

screen工具

screen可以理解為一個會話窗口管理工具,對于一般的使用,我們只需要會使用下面在這些操作即可:

# 使用yum安裝screen
yum install screen
# 創(chuàng)建一個名為test的會話窗口
screen -S test
# 暫離窗口
Ctrl+a d(即按住Ctrl,依次再按a,d)
# 查看存在的會話窗口
screen -ls
# 進入窗口
screen -r test
screen -r 進程ID
# 關(guān)閉窗口
exit
# 窗口切換
Ctrl+a c :在當前screen會話中創(chuàng)建窗口
Ctrl+a w :窗口列表
Ctrl+a n :下一個窗口
Ctrl+a p :上一個窗口
Ctrl+a 0-9 :在第0個窗口和第9個窗口之間切換

有了在screen工具,我們就可以在終端上創(chuàng)建窗口,然后運行需要的命令,然后暫離,然后就可以繼續(xù)做其他的事情了,當然,也可以用其他的終端連接服務(wù)器后使用screen -r 命令連接需要的窗口,會發(fā)現(xiàn)程序一直在運行,退出終端也不會影響到那些暫離的終端上運行的程序。

測試:

我們寫一個測試腳本test.sh:

#!/bin/sh
for ((i=1; i<1000; i++))
do
  d=`date '+%Y-%m-%d %H:%M:%S'`
  echo "$d 第 $i 次輸出;"
  tt
  sleep 2s
done
Bash

只使用&后臺運行:

[root@localhost test.cc]# ./test.sh > test.log 2>&1 &
[1] 15037
[root@localhost test.cc]# ps -aux | grep test.sh
root   15037 0.0 0.0 113180 1424 pts/0  S  16:10  0:00 /bin/sh ./test.sh
root   15045 0.0 0.0 112712  992 pts/0  S+  16:10  0:00 grep --color=auto test.sh
Bash

可以看到15037進程在運行;

如果直接關(guān)閉終端,日志記錄就停止了,說明進程隨著終端會話的結(jié)束而停止執(zhí)行了;

但是,經(jīng)過反復測試發(fā)現(xiàn),如果使用exit命令正常退出終端,再連上終端后,使用&運行的程序繼續(xù)在運行,也就是&命令跟nohup效果是一樣的,我這里使用的測試環(huán)境是CentOS7.6。

使用nohup &運行

[root@localhost test.cc]# nohup ./test.sh > test.log 2>&1 &
[1] 14349

測試結(jié)果,直接關(guān)閉終端或者使用exit命令退出終端,程序都會繼續(xù)執(zhí)行。

使用screen運行

# 創(chuàng)建窗口
screen -S test
# 運行命令,這里可以不用后面的&,只是程序會把窗口占用
./test.sh > test.log 2>&1 &
# 暫離
Ctrl + a d

這時候可以直接關(guān)閉終端了,然后重新連接,發(fā)現(xiàn)程序依然在運行,如果要找到窗口連接:

# 存在的窗口
[root@localhost ~]# screen -ls
There is a screen on:
  18048.test (Detached)
1 Socket in /var/run/screen/S-root.
# 進入窗口
[root@localhost ~]# screen -r test

進入之后會發(fā)現(xiàn),窗口依然保持著暫離之前的狀態(tài),包括之前輸入的程序和命令,當你在窗口中輸入exit命令退出窗口,如果你前面命令后面沒有使用&,程序?qū)兄梗驗橄鄬τ趖est窗口來說,這是一個前臺程序,窗口退出了程序自然就跟著中止了。

因為screen的暫離功能,可以實現(xiàn)暫離窗口中保持前臺程序的繼續(xù)運行,相對于真正的終端而言,就相當于后臺運行了。

程序終止(interrupt)信號, 在用戶鍵入INTR字符(通常是Ctrl-C)時發(fā)出,用于通知前臺進程組終止進程 ↩︎

終端連接結(jié)束時發(fā)出, 通常是關(guān)閉終端, 通知同一session內(nèi)的各個進程組 ↩︎

總結(jié)

以上所述是小編給大家介紹的淺析Linux中使用nohup及screen運行后臺任務(wù)的示例和區(qū)別,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

  • 制作centos基礎(chǔ)鏡像的方法

    制作centos基礎(chǔ)鏡像的方法

    這篇文章主要介紹了制作centos基礎(chǔ)鏡像的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • 關(guān)于linux服務(wù)器下vsftpd的一些問題

    關(guān)于linux服務(wù)器下vsftpd的一些問題

    針對我自己本身出現(xiàn)的問題,將高人與我的QQ聊天記錄整理了一份,然后再加上實際的操作.終于讓我大徹大悟.現(xiàn)在與大家狠狠的分享這位高人的成果.
    2010-06-06
  • linux如何安裝python3

    linux如何安裝python3

    在Linux系統(tǒng)中安裝Python3需要先安裝依賴,然后下載安裝包進行編譯安裝,具體步驟包括安裝依賴、下載Python3安裝包、解壓、配置安裝目錄、編譯安裝,以及添加軟連接,安裝成功后,通過驗證python3和pip3的版本來確認安裝是否成功,本教程基于個人經(jīng)驗,旨在提供一個參考
    2024-10-10
  • 在Linux環(huán)境下安裝Kafka

    在Linux環(huán)境下安裝Kafka

    本文以安裝Kafka的步驟做了圖文詳細介紹,Kafka是一種高吞吐量 的分布式發(fā)布訂閱消息系統(tǒng),對Kagka感興趣的小伙伴可以參考參考本篇文章
    2021-08-08
  • 詳解bash中的腳本調(diào)試機制

    詳解bash中的腳本調(diào)試機制

    這篇文章主要介紹了bash中的腳本調(diào)試機制,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • Linux中的最大線程數(shù)和句柄數(shù)詳解

    Linux中的最大線程數(shù)和句柄數(shù)詳解

    這篇文章主要介紹了Linux中的最大線程數(shù)和句柄數(shù)的使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • Linux服務(wù)器怎么修改密碼?passwd命令用法

    Linux服務(wù)器怎么修改密碼?passwd命令用法

    這篇文章主要介紹了Linux服務(wù)器怎么修改密碼之passwd命令用法,需要的朋友可以參考下
    2023-05-05
  • centos7使用rpm安裝mysql5.7的教程圖解

    centos7使用rpm安裝mysql5.7的教程圖解

    本文通過圖文并茂的形式給大家介紹了centos7使用rpm安裝mysql5.7的教程,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2019-06-06
  • 增強Linux和Unix服務(wù)器安全性的方法詳解

    增強Linux和Unix服務(wù)器安全性的方法詳解

    今天小編就為大家分享一篇關(guān)于增強Linux和Unix服務(wù)器安全性的方法詳解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • Linux QT Kit丟失及Version為空問題解決方案

    Linux QT Kit丟失及Version為空問題解決方案

    這篇文章主要介紹了Linux QT Kit丟失及Version為空問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08

最新評論

柏乡县| 新巴尔虎右旗| 康定县| 凤冈县| 长海县| 东兴市| 红原县| 都安| 台南市| 河北省| 行唐县| 尖扎县| 永胜县| 石河子市| 和林格尔县| 乡宁县| 江津市| 金寨县| 汪清县| 略阳县| 贵南县| 大化| 扶风县| 罗城| 华蓥市| 界首市| 安新县| 宁陕县| 枣阳市| 新邵县| 嘉义市| 扶沟县| 米脂县| 钦州市| 北京市| 兴义市| 高平市| 广南县| 杭锦后旗| 军事| 常宁市|