国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
linux中nohup 與 & 的區(qū)別

Linux/Unix下,通常只有守護(hù)進(jìn)程可在脫離終端的情況下能繼續(xù)執(zhí)行,而普通進(jìn)程在關(guān)閉終端時(shí)會因收到SIGHUP信號(掛起信號)而退出。當(dāng)終端退出后,由該終端啟動的后臺程序自動退出。

若想命令在后臺運(yùn)行,則可用 & 指定命令在后臺運(yùn)行;

若想終端退出后程序不停止運(yùn)行,則可用nohup命令啟動后臺程序。

nohup(=no hang up),使命令忽略SIGHUP信號;
[語法] nohup Command [ Arg ... ] [&]
[命令輸出說明]

Command 的輸出如果沒有被重定向,則無論是標(biāo)準(zhǔn)輸出(stdout),還是標(biāo)準(zhǔn)錯(cuò)誤(stderr),均重定向到nohup.out文件;nohup.out文件缺省寫在當(dāng)前目錄下,如果在該目錄下無寫權(quán)限,則試圖寫到$HOME/nohup.out中,如果仍然失敗,整個(gè)命令執(zhí)行失敗;

Command的輸出如果重定向,則寫入指定的重定向文件中;

[退出狀態(tài)]
126 能查找但不能調(diào)用 Command 命令;
127 nohup 命令發(fā)生錯(cuò)誤或找不到 Command 命令;
否則為 Command 命令的退出狀態(tài);

nohup與&的區(qū)別:
nohup只是讓命令忽略SIGHUP命令而已;

&則讓命令在后臺運(yùn)行;

至于該命令是否能在脫離終端后繼續(xù)執(zhí)行則要看進(jìn)程是否是守護(hù)進(jìn)程,如果不是,則需要nohup來幫忙;

 

PS,引用 http://www.cnblogs.com/allenblogs/archive/2011/05/19/2051136.html

---------以下為引用內(nèi)容
————————————————

nohup -- invoke a utility immune to hangups : 運(yùn)行命令忽略掛起信號

& 是指后臺運(yùn)行;

nohup 的功能和& 之間的功能并不相同。其中,nohup 可以使得命令永遠(yuǎn)運(yùn)行下去和用戶終端沒有關(guān)系。當(dāng)我們斷開ssh 連接的時(shí)候不會影響他的運(yùn)行。而& 表示后臺運(yùn)行。當(dāng)ssh 斷開連接的時(shí)候(用戶退出或掛起的時(shí)候),命令也自動退出。

當(dāng)然我們可以把兩者結(jié)合起來使用:

nohup command & 

來實(shí)現(xiàn)命令的后臺運(yùn)行并且和用戶終端沒有關(guān)系。

由 nohup 文檔來看:

If the output file nohup.out cannot be created in the current directory, the nohup utility uses the directory named by HOME to create the file.

表示:nohup 命令執(zhí)行后,會產(chǎn)生日志文件,把命令的執(zhí)行中的消息報(bào)損到這個(gè)文件之中。如果當(dāng)前文件不可寫,那么會自動保存到執(zhí)行這個(gè)命令的home 目錄下面。如果是超級管理員root 對應(yīng)的是/root 目錄。

從上面對比我們發(fā)現(xiàn):

1. & 可以使得命令 免疫 ctrl c 的 SIGINT 信號,不能是的命令對 SIGHUP 信號進(jìn)行免疫。

2. nohup 可以使得命令對兩個(gè)信號都可以進(jìn)行免疫。

為了使得 & 達(dá)到相同的效果:

我們可以使用如下操作:

如果已經(jīng)使用 & 命令進(jìn)行 后臺運(yùn)行。

可以使用disown -h 讓任務(wù)忽略sighup 信號;

同樣不會因?yàn)榭刂婆_的終端而中斷任務(wù)。

展示:

斷開終端重新登錄時(shí):

這樣當(dāng)你在大量備份文件的時(shí)候,如果出現(xiàn)斷網(wǎng)或者不得不下線的時(shí)候。我們可以使用。

ctrl z 掛起任務(wù);disown-h 使得任務(wù) 忽略sighup 信號;使用 bg 命令使得命令后臺運(yùn)行。這樣就可以放心得下線了。

參考鏈接:

1. https://blog.csdn.net/zhang_Red/article/details/52789691

2. https://blog.csdn.net/stpeace/article/details/76389073

1.1 nohup

功能:不掛斷運(yùn)行命令

語法:nohup Command [ Arg … ] [ & ]

? 無論是否將 nohup 命令的輸出重定向到終端,輸出都將附加到當(dāng)前目錄的 nohup.out 文件中。

  如果當(dāng)前目錄的 nohup.out 文件不可寫,輸出重定向到 $HOME/nohup.out 文件中。

  如果沒有文件能創(chuàng)建或打開以用于追加,那么 Command 參數(shù)指定的命令不可調(diào)用。

退出狀態(tài):該命令返回下列出口值:   

  126: 可以查找但不能調(diào)用 Command 參數(shù)指定的命令。   

  127: nohup 命令發(fā)生錯(cuò)誤或不能查找由 Command 參數(shù)指定的命令。   

  否則,nohup 命令的退出狀態(tài)是 Command 參數(shù)指定命令的退出狀態(tài)。

1.2 &

功能:命令在后臺運(yùn)行,功能與Ctrl+z相同,一般配合nohup一起使用

eg:nohup ~/user/test.sh>output.log 2>&1 &

命令詳解:

  • nohup ~/user/test.sh>output.log 不掛斷運(yùn)行test.sh,輸出結(jié)果重定向到當(dāng)前目錄的output.log
  • 最后的& 表示后臺運(yùn)行
  • 2>&1 0表示鍵盤輸入,1屏幕輸出即標(biāo)準(zhǔn)輸出,2表示錯(cuò)誤輸出。其中2>&1表示將錯(cuò)誤信息重定向到標(biāo)準(zhǔn)輸出 試想一下,如果2>&1指將錯(cuò)誤信息重定向到標(biāo)準(zhǔn)輸出,那2>1指什么? 分別嘗試2>12>&1
$ ls >outfile$ cat outlog outlogtest.sh$ ls xxx>outfilels: cannot access xxx: No such file or directory$ cat outfile (這里是空)$ ls xxx 2>1$ cat 1(可以看出,將錯(cuò)誤信息重定向到文件1里面了)ls: cannot access xxx: No such file or directory

? 也就是說2>1會將錯(cuò)誤信息重定向到文件1里面,所以2>&1中的&1指標(biāo)準(zhǔn)輸出

2. 查看后臺運(yùn)行的進(jìn)程

2.1 jobs的使用

jobs命令用于顯示Linux中的任務(wù)列表及任務(wù)狀態(tài),包括后臺運(yùn)行的任務(wù)。該命令可以顯示任務(wù)號及其對應(yīng)的進(jìn)程號。其中,任務(wù)號是以普通用戶的角度進(jìn)行的,而進(jìn)程號則是從系統(tǒng)管理員的角度來看的。一個(gè)任務(wù)可以對應(yīng)于一個(gè)或者多個(gè)進(jìn)程號。

語法: jobs(選項(xiàng))(參數(shù))

選項(xiàng)

-l:顯示進(jìn)程號; -p:僅任務(wù)對應(yīng)的顯示進(jìn)程號; -n:顯示任務(wù)狀態(tài)的變化; -r:僅輸出運(yùn)行狀態(tài)(running)的任務(wù); -s:僅輸出停止?fàn)顟B(tài)(stoped)的任務(wù)。

常用命令: jobs -l

其中,輸出信息的第一列表示任務(wù)編號,第二列表示任務(wù)所對應(yīng)的進(jìn)程號,第三列表示任務(wù)的運(yùn)行狀態(tài),第四列表示啟動任務(wù)的命令。

缺點(diǎn):jobs命令只看當(dāng)前終端生效的,關(guān)閉終端后,在另一個(gè)終端jobs已經(jīng)無法看到后臺跑得程序了,此時(shí)利用ps(進(jìn)程查看命令)

2.2 ps的使用

ps命令用于報(bào)告當(dāng)前系統(tǒng)的進(jìn)程狀態(tài)。可以搭配kill指令隨時(shí)中斷、刪除不必要的程序。ps命令是最基本同時(shí)也是非常強(qiáng)大的進(jìn)程查看命令,使用該命令可以確定有哪些進(jìn)程正在運(yùn)行和運(yùn)行的狀態(tài)、進(jìn)程是否結(jié)束、進(jìn)程有沒有僵死、哪些進(jìn)程占用了過多的資源等等,總之大部分信息都是可以通過執(zhí)行該命令得到的。

常用命令:ps -aux

a:顯示所有程序 u:以用戶為主的格式來顯示 x:顯示所有程序,不以終端機(jī)來區(qū)分

通常與nohup &配合使用,用于查看后臺進(jìn)程ID 配合 kill命令殺掉程序

常用命令:ps -aux|grep test.sh| grep -v grep

注:grep -v grep 用grep -v參數(shù)可以將grep命令排除掉

https://www.cnblogs.com/laoyeye/p/9346330.html

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
linux命令后臺運(yùn)行
linux命令之nohup
使用nohup讓程序在遠(yuǎn)程主機(jī)后臺運(yùn)行
Unix/Linux中nohup命令講解 - 51CTO.COM
linux后臺運(yùn)行和關(guān)閉、查看后臺任務(wù)
nohup和&后臺運(yùn)行,進(jìn)程查看及終止
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服