自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何在后臺運行Linux命令并且將進程脫離終端

系統(tǒng) Linux 系統(tǒng)運維
在本指南中,我們將會闡明一個在 Linux 系統(tǒng)中進程管理的簡單但是重要的概念,那就是如何從它的控制終端完全脫離一個進程。

[[175092]]

在本指南中,我們將會闡明一個在 Linux 系統(tǒng)中進程管理的簡單但是重要的概念,那就是如何從它的控制終端完全脫離一個進程。

當一個進程與終端關(guān)聯(lián)在一起時,可能會出現(xiàn)兩種問題:

  1. 你的控制終端充滿了很多輸出數(shù)據(jù)或者錯誤及診斷信息
  2. 如果發(fā)生終端關(guān)閉的情況,進程連同它的子進程都將會終止

為了解決上面兩個問題,你需要從一個控制終端完全脫離一個進程。在我們實際上解決這個問題之前,讓我們先簡要的介紹一下,如何在后臺運行一個進程。

如何在后臺開始一個 Linux 進程或者命令行

如果一個進程已經(jīng)運行,例如下面的 tar 命令行的例子,簡單的按下 Ctrl+Z 就可以停止它(LCTT 譯注:這里說的“停止”,不是終止,而是“暫停”的意思),然后輸入命令 bg 就可以繼續(xù)以一個任務在后臺運行了。

你可以通過輸入 jobs 查看所有的后臺任務。但是,標準輸入(STDIN)、標準輸出(STDOUT)和標準錯誤(STDERR)依舊摻雜到控制臺中。

  1. $ tar -czf home.tar.gz . 
  2. $ bg 
  3. $ jobs  

 

 

 在后臺運行 Linux 命令

你也可以直接使用符號 & 在后臺運行一個進程:

  1. $ tar -czf home.tar.gz . & 
  2. $ jobs  

 

 

 在后臺開始一個 Linux 進程

看一下下面的這個例子,雖然 tar 命令是作為一個后臺任務開始的,但是錯誤信息依舊發(fā)送到終端,這表示,進程依舊和控制終端關(guān)聯(lián)在一起。

  1. $ tar -czf home.tar.gz . & 
  2. $ jobs  

 

 

 運行在后臺的 Linux 進程信息

退出控制臺之后,保持 Linux 進程的運行

我們將使用 disown 命令,它在一個進程已經(jīng)運行并且被放在后臺之后使用,它的作用是從 shell 的活動任務列表中移走一個 shell 任務,因此,對于該任務,你將再也不能使用 fg 、 bg 命令了。

而且,當你關(guān)閉控制控制終端,這個任務將不會掛起(暫停)或者向任何一個子任務發(fā)送 SIGHUP 信號。

讓我們看一下先下面的這個使用 bash 中內(nèi)置命令 disown 的例子。

  1. $ sudo rsync Templates/* /var/www/html/files/ & 
  2. $ jobs 
  3. $ disown  -h  %1 
  4. $ jobs  

 

 

 關(guān)閉終端之后,保持 Linux 進程運行

你也可以使用 nohup 命令,這個命令也可以在用戶退出 shell 之后保證進程在后臺繼續(xù)運行。

  1. $ nohup tar -czf iso.tar.gz Templates/* & 
  2. $ jobs  

 

 

 關(guān)閉 shell 之后把 Linux 進程置于后臺

從控制終端脫離一個 Linux 進程

因此,為了徹底從控制終端脫離一個程序,對于圖形用戶界面 (GUI) 的程序例如 firefox 來說,使用下面的命令行格式會更有效:

  1. $ firefox </dev/null &>/dev/null & 

在 Linux 上,/dev/null 是一個特殊的文件設備,它會忽略所有的寫在它上面的數(shù)據(jù),上述命令,輸入來源和輸出發(fā)送目標都是 /dev/null。

作為結(jié)束陳述,運行一個連接到控制終端的進程,作為用戶你將會在你的終端上看到這個進程數(shù)據(jù)的許多行的輸出,也包含錯誤信息。同樣,當你關(guān)閉一個控制終端,你的進程和子進程都將會終止。

重要的是,對于這個主題任何的問題或者觀點,通過下面的評論聯(lián)系我們。

責任編輯:龐桂玉 來源: segmentfault
相關(guān)推薦

2021-06-10 09:56:09

Linux命令shell

2019-06-26 08:00:39

Docker容器運行命令

2017-03-17 16:10:24

linux進程后臺

2017-03-15 19:54:05

Linux進程后臺

2023-03-07 10:50:42

Linux命令系統(tǒng)

2015-01-27 23:21:53

Linux終端

2022-11-09 11:01:11

Linux命令后臺

2011-03-03 17:07:58

Pure-FTPd

2010-03-08 18:07:02

Linux后臺運行命令

2010-03-08 17:53:36

Linux后臺運行命令

2010-03-08 18:18:38

Linux后臺運行命令

2010-03-09 08:54:29

Linux后臺運行命令

2010-03-09 09:40:02

Linux后臺運行命令

2024-08-12 08:43:09

2011-01-26 13:26:32

Linux進程

2020-12-24 10:00:35

Linux查看圖像

2017-02-06 18:00:26

Linuxsudo命令

2018-04-19 09:23:07

Linux網(wǎng)速測試命令行工具

2015-11-24 13:27:35

Linuxcool-retro-復古終端

2020-09-18 17:29:58

Linux
點贊
收藏

51CTO技術(shù)棧公眾號