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

Linux后臺(tái)執(zhí)行命令:&與nohup的用法

系統(tǒng) Linux
大家可能有這樣的體驗(yàn):某個(gè)程序運(yùn)行的時(shí)候,會(huì)產(chǎn)生大量的log,但實(shí)際上我們只想讓它跑一下而已,log暫時(shí)不需要或者后面才有需要。

大家可能有這樣的體驗(yàn):某個(gè)程序運(yùn)行的時(shí)候,會(huì)產(chǎn)生大量的log,但實(shí)際上我們只想讓它跑一下而已,log暫時(shí)不需要或者后面才有需要。所以在這樣的情況下,我們希望程序能夠在后臺(tái)進(jìn)行,也就是說(shuō),在終端上我們看不到它所打出的log。為了實(shí)現(xiàn)這個(gè)需求,我們介紹以下幾種方法。

[[342885]]

我們以下面一個(gè)test程序來(lái)模擬產(chǎn)生大量log的程序,這個(gè)程序每隔1秒就會(huì)打印一句“Hello world!”:

  1. #include  
  2. #include  
  3. #include  
  4. int main() 
  5. {    fflush(stdout); 
  6.     setvbuf(stdout, NULL, _IONBF, 0); 
  7.     while (1) { 
  8.         printf("Hello world!\n"); 
  9.         sleep(1); 
  10.     }} 

現(xiàn)在,我們想要一個(gè)清靜的世界,終端上不要有大量的log出現(xiàn),我們要求test程序在后臺(tái)運(yùn)行。

##&##

這種方法很簡(jiǎn)單,就是在命令之后加個(gè)“&”符號(hào)就可以了,如下:

  1. ./test & 

這樣一來(lái),test程序就在后臺(tái)運(yùn)行了。但是,這樣處理還不夠,因?yàn)檫@樣做雖然程序是在后臺(tái)運(yùn)行了,但log依然不停的輸出到當(dāng)前終端。因此,要讓終端徹底的清靜,還應(yīng)將log重定向到指定的文件:

  1. ./test >> out.txt 2>&1 & 

2>&1是指將標(biāo)準(zhǔn)錯(cuò)誤重定向到標(biāo)準(zhǔn)輸出,于是標(biāo)準(zhǔn)錯(cuò)誤和標(biāo)準(zhǔn)輸出都重定向到指定的out.txt文件中,從此終端徹底清靜了。

但是這樣做要注意,如果Test程序需要從標(biāo)準(zhǔn)輸入接收數(shù)據(jù),它就會(huì)在那死等,不會(huì)再往下運(yùn)行。所以需要從標(biāo)準(zhǔn)輸入接收數(shù)據(jù),那這種方法最好不要使用。

那現(xiàn)在程序在后臺(tái)運(yùn)行了,我們?cè)趺凑业剿?很簡(jiǎn)單,有兩種方法:

1. jobs命令

jobs命令可以查看當(dāng)前有多少在后臺(tái)運(yùn)行。

  1. jobs -l 

此命令可顯示所有任務(wù)的PID,jobs的狀態(tài)可以是running, stopped, Terminated。但是如果任務(wù)被終止了(kill),shell 從當(dāng)前的shell環(huán)境已知的列表中刪除任務(wù)的進(jìn)程標(biāo)識(shí)。

2. ps命令

  1. ps aux | grep test 

##nohup命令##

在命令的末尾加個(gè)&符號(hào)后,程序可以在后臺(tái)運(yùn)行,但是一旦當(dāng)前終端關(guān)閉(即退出當(dāng)前帳戶),該程序就會(huì)停止運(yùn)行。那假如說(shuō)我們想要退出當(dāng)前終端,但又想讓程序在后臺(tái)運(yùn)行,該如何處理呢?

實(shí)際上,這種需求在現(xiàn)實(shí)中很常見(jiàn),比如想遠(yuǎn)程到服務(wù)器編譯程序,但網(wǎng)絡(luò)不穩(wěn)定,一旦掉線就編譯就中止,就需要重新開始編譯,很浪費(fèi)時(shí)間。

在這種情況下,我們就可以使用nohup命令。nohup就是不掛起的意思( no hang up)。該命令的一般形式為:

  1. nohup ./test & 

如果僅僅如此使用nohup命令的話,程序的輸出會(huì)默認(rèn)重定向到一個(gè)nohup.out文件下。如果我們想要輸出到指定文件,可另外指定輸出文件:

  1. nohup ./test > myout.txt 2>&1 & 

這樣一來(lái),多管齊下,既使用了nohup命令,也使用了&符號(hào),同時(shí)把標(biāo)準(zhǔn)輸出/錯(cuò)誤重定向到指定目錄下。

使用了nohup之后,很多人就這樣不管了,其實(shí)這樣有可能在當(dāng)前賬戶非正常退出或者結(jié)束的時(shí)候,命令還是自己結(jié)束了。所以在使用nohup命令后臺(tái)運(yùn)行命令之后,需要使用exit正常退出當(dāng)前賬戶,這樣才能保證命令一直在后臺(tái)運(yùn)行。

本文授權(quán)轉(zhuǎn)載自公眾號(hào)「良許Linux」。良許,世界500強(qiáng)外企Linux開發(fā)工程師,公眾號(hào)里分享大量Linux干貨,歡迎關(guān)注!

 

責(zé)任編輯:趙寧寧 來(lái)源: 今日頭條
相關(guān)推薦

2019-08-30 07:24:16

2017-12-11 09:34:40

Linux啟動(dòng)或重啟命令與腳本

2021-11-24 09:55:56

Linuxnohup命令

2009-12-29 14:36:29

Ubuntu cron

2018-01-16 09:08:00

Linux命令fmt

2022-11-18 08:55:33

2018-01-18 10:57:48

Linux服務(wù)器命令

2009-12-24 17:04:18

nohup命令

2019-08-28 09:04:02

Go語(yǔ)言Python操作系統(tǒng)

2010-02-04 10:11:05

Linux mount

2020-06-18 07:49:47

Linux終端程序

2017-03-10 10:37:16

Linux命令腳本

2022-09-27 10:07:01

要使用 source

2017-07-13 12:43:41

Linux命令date

2019-04-25 09:52:38

SSHLinux服務(wù)器

2009-12-23 10:57:20

nohup命令

2012-06-01 09:44:26

Python

2014-07-31 18:23:41

Process

2010-05-25 14:32:09

Linux tcpdu

2024-07-29 13:50:58

Linuxdig命令
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 草久久| 成人av观看| 欧美日韩在线一区 | 国产精品欧美一区二区三区不卡 | 91精品导航| 操人视频在线观看 | 一区二区三区国产好 | 久草成人网 | 蜜桃综合在线 | 欧美日韩中文在线 | 亚洲 欧美 在线 一区 | 国产精品成人品 | 久久久久久久久久一区二区 | 久久精品国产99国产精品 | 国产成人精品一区二区三区在线 | 孕妇一级毛片 | 全免费a级毛片免费看视频免 | 老司机67194精品线观看 | 在线视频一区二区三区 | 男人的天堂视频网站 | 日韩欧美精品在线 | 毛片免费看 | 中文字幕视频在线观看 | 中文字幕蜜臀av | 狠狠操av | 丁香六月伊人 | 日韩欧美国产一区二区 | 久久电影一区 | 亚洲精品一区二区 | 国产成人免费视频网站高清观看视频 | 国产高清在线精品 | 色接久久 | 国产成人综合在线 | 欧美亚洲国产一区 | 超碰高清 | 亚洲一区二区三区 | 国产东北一级毛片 | 亚洲成人精 | 欧美视频精品 | 蜜臀网 | 爽爽免费视频 |