成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux下幾種運行后臺任務的方法

系統 Linux
今天就給大家介紹linux中幾種后臺任務的執行方法避免上述問題。

 1.問題的引入

程序員最不能容忍的是在使用終端的時候往往因為網絡,關閉屏幕,執行CTRL+C等原因造成ssh斷開造成正在運行程序退出,使得我們的工作功虧一簣。

其背后的主要原因在于上述的相關操作,shell默認會發送中斷信號給該終端session關聯的進程,從而導致進程跟隨終端退出,為了弄清這個問題我們首先要了解兩種中斷信號:

1)sigint:signal interrupt,ctrl+c會發送此信號,主動關閉程序

2)sighup: signal hang up,關閉終端,網絡斷線,關閉屏幕會發送此掛斷信號。

今天就給大家介紹linux中幾種后臺任務的執行方法避免上述問題。

2 & 符號

這是一種把 &放在執行命令最后,使啟動的程序忽略sigint信號,此時執行ctrl+c關閉就不會關閉此進程,但是當屏幕關閉,斷網仍然會造成進程退出。 

  1. sh test.sh & 

3.nohup指令

nohup(no hang up),意思就是不掛斷運行,用nohup運行命令可以使命令永久執行下去,和用戶終端沒有關系,斷開SSH不影響運行,nohup捕獲了SIGHUP,并做了忽略處理,因此當屏幕關閉,斷網等造成ssh中斷時進程不會退出。但是ctrl+c可以關閉關閉該進程。因此大多數情況同時使用nohup和&啟動的程序,ctrl+c和關閉終端都無法關閉。在缺省情況下所有輸出都被重定向到一個名為nohup.out的文件中。

nohup指令基本使用格式: 

  1. nohup Command [ Arg ... ] [ & ] 

舉例

后臺不中斷執行./test.sh,stdout輸出給out.log,stderr輸出給err.log 

  1. nohup ./test.sh > out.log 2>err.log  & 

相關的數字含義如下:

    0 – stdin (standard input),

    1 – stdout (standard output),顯然 nohup command > out.log 等價于 nohup command 1> out.log,是缺省行為。

    2 – stderr (standard error)

可能你也會見到這種寫法,其含義是把stderr也重定向給stdin 

  1. nohup ./test.sh > out.log 2>&1  & 

4.ctrl + z、jobs、fg、bg

如果我們程序在啟動的時候并沒有使用&,nohup怎么辦呢,難道我們需要先執行ctrl + c將在前臺執行的進程終止執行再重新啟動嗎,顯然有好的方法!

4.1 ctrl + z

將一個正在前臺執行的作業進程放到后臺,并且暫停,用術語講就是掛起,執行后如下: 

  1. [1]+ Stopped ./test.sh 

4.2 jobs

查看當前有多少在后臺運行的命令,[jobnumber] 就是作業號。 

  1. jobs  
  2. [1]+ Stopped ./test.sh   
  3. [2]+ Running ./test2.sh & 

4.4 bg

將后臺中暫停(掛起)的作業進程繼續運行,例如把1號作業(./test.sh) 放到后臺運行,注意看已經帶了& 

  1. bg 1  
  2. [1]+ ./test.sh  & 

4.3fg

將后臺中的作業進程調至前臺繼續運行,例如把2號作業(./test2.sh &)調至前臺運行 

  1. fg 2   
  2. ./test2.sh 

5.screen命令

5.1 介紹

如果說上面的方法是通過linux 相關本身命令實現了前后臺任務調度,那么screen就提供了另外一種思路。

不說人話的版本:GNU Screen是一款由GNU計劃開發的用于命令行終端切換的自由軟件。用戶可以通過該軟件同時連接多個本地或遠程的命令行會話,并在其間自由切換。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了統一的管理多個會話的界面和相應的功能。

說人話的版本: 我們可以粗略地認為screen是一個虛擬終端軟件,直接在linux系統里面啟動了另外一個后臺程序接管(維持)了你的終端會話,當你直接連接的終端ssh斷開時他仍然讓程序認為你的ssh持續鏈接著,這樣也就不會出現進程接收到中斷信號而退出。

5.2 安裝 

  1. yum install screen 

5.3使用

1)新建會話

screen -S yourname -> 新建一個叫yourname的session

2) 列出當前所有的session

screen -ls

3)恢復會話(回到yourname這個session)

screen -r yourname

4) detach某個session

screen -d yourname -> 遠程detach某個session screen -d -r yourname -> 結束當前session并回到yourname這個session

5)刪除會話

screen -S pid-X quit 

 

責任編輯:龐桂玉 來源: 良許Linux
相關推薦

2009-06-19 20:38:49

Linux操作系統

2018-09-12 21:25:15

iOSAppcrash

2023-11-27 19:32:25

Android

2023-11-25 09:30:13

Android后臺任務

2023-04-26 11:59:06

Swift異步編程

2014-07-31 12:07:15

Linux

2017-03-15 19:54:05

Linux進程后臺

2021-10-13 07:30:13

AndroidAlarmManageWorkManager

2023-12-01 08:21:51

開發者Android組件庫

2020-08-25 08:53:02

Linux端口轉發

2010-03-08 18:07:02

Linux后臺運行命令

2010-03-08 17:53:36

Linux后臺運行命令

2010-03-09 08:54:29

Linux后臺運行命令

2010-03-08 18:18:38

Linux后臺運行命令

2010-03-09 09:40:02

Linux后臺運行命令

2009-04-24 10:57:25

2021-06-10 09:56:09

Linux命令shell

2020-09-14 08:23:56

日期時間Shell

2011-03-21 11:14:24

LinuxNagios

2012-09-03 09:53:03

Linux操作系統
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: h片在线免费看 | 午夜在线影院 | 亚洲福利网 | 亚洲国产成人久久久 | 99re国产精品 | 国产高清精品在线 | 一级免费毛片 | 91精品久久 | 一区二区三区久久 | 九九色综合 | a级毛片国产 | 久久久久久亚洲精品 | 色橹橹欧美在线观看视频高清 | 免费一级淫片aaa片毛片a级 | 午夜影晥 | 日韩欧美三级 | 国产精品久久久久久238 | 在线免费观看成人 | 亚洲欧洲中文日韩 | 国产精品久久精品 | www.99久久.com| 国产片侵犯亲女视频播放 | 一区在线免费视频 | 亚洲精品99999 | 国产视频精品免费 | 国产午夜精品一区二区三区嫩草 | 99视频免费| 国产视频日韩 | 国产精品久久久久久亚洲调教 | 国产区一区二区三区 | 国产精品日韩在线观看一区二区 | 免费一区二区 | 国产午夜精品视频 | 午夜电影网 | 欧美影院 | 国产中文在线观看 | 久久国产精品视频 | 久久久久久久一区二区三区 | 看羞羞视频免费 | 美女视频h| 国产欧美一区二区三区在线看 |