nohup /dev/null 21 含義詳解

nohup命令:如果你正在運行一個進程,而且你覺得在退出帳戶時該進程還不會結束,那么可以使用nohup命令。該命令可以在你退出帳戶/關閉終端之后繼續運行相應的進程。nohup就是不掛起的意思( n ohang up)。

該命令的一般形式為:nohup command &

ls xxx 1>out.txt 2>&1
nohup /mnt/Nand3/H2000G >/dev/null?2>&1 &
對 于& 1 更準確的說應該是文件描述符 1,而1 一般代表的就是STDOUT_FILENO,實際上這個操作就是一個dup2(2)調用.他標準輸出到all_result ,然后復制標準輸出到文件描述符2(STDERR_FILENO),其后果就是文件描述符1和2指向同一個文件表項,也可以說錯誤的輸出被合并了.其中0 表示鍵盤輸入 1表示屏幕輸出 2表示錯誤輸出.把標準出錯重定向到標準輸出,然后扔到/DEV/NULL下面去。通俗的說,就是把所有標準輸出和標準出錯都扔到垃圾桶里面。
command >out.file 2>&1 &
command >out.file是將command的輸出重定向到out.file文件,即輸出內容不打印到屏幕上,而是輸出到out.file文件中。 2>&1 是將標準出錯重定向到標準輸出,這里的標準輸出已經重定向到了out.file文件,即將標準出錯也輸出到out.file文件中。最后一個& , 是讓該命令在后臺執行。

試想2>1代表什么,2與>結合代表錯誤重定向,而1則代表錯誤重定向到一個文件1,而不代表標準輸出;
換成2>&1,&與1結合就代表標準輸出了,就變成錯誤重定向到標準輸出.

你可以用
ls 2>1測試一下,不會報沒有2文件的錯誤,但會輸出一個空的文件1;
ls xxx 2>1測試,沒有xxx這個文件的錯誤輸出到了1中;
ls xxx 2>&1測試,不會生成1這個文件了,不過錯誤跑到標準輸出了;
ls xxx >out.txt 2>&1, 實際上可換成 ls xxx 1>out.txt 2>&1;重定向符號>默認是1,錯誤和輸出都傳到out.txt了。

?

為何2>&1要寫在后面?
command > file 2>&1?
首先是command > file將標準輸出重定向到file中, 2>&1 是標準錯誤拷貝了標準輸出的行為,也就是同樣被重定向到file中,最終結果就是標準輸出和錯誤都被重定向到file中。?
command 2>&1 >file?
2>&1 標準錯誤拷貝了標準輸出的行為,但此時標準輸出還是在終端。>file 后輸出才被重定向到file,但標準錯誤仍然保持在終端。

用strace可以看到:?
1. command > file 2>&1?
這個命令中實現重定向的關鍵系統調用序列是:?
open(file) == 3?
dup2(3,1)?
dup2(1,2)?

2. command 2>&1 >file?
這個命令中實現重定向的關鍵系統調用序列是:?
dup2(1,2)?
open(file) == 3?
dup2(3,1)?

為什么要用 /dev/null 2>&1 這樣的寫法.這條命令的意思是將標準輸出和錯誤輸出全部重定向到/dev/null中,也就是將產生的所有信息丟棄.下面我就為大家來說一下,?command > file 2>file?? 與command > file 2>&1?有什么不同的地方.
首先~command > file 2>file?的意思是將命令所產生的標準輸出信息,和錯誤的輸出信息送到file 中.command?? > file 2>file?這樣的寫法,stdout和stderr都直接送到file中, file會被打開兩次,這樣stdout和stderr會互相覆蓋,這樣寫相當使用了FD1和FD2兩個同時去搶占file 的管道.
而command >file 2>&1?這條命令就將stdout直接送向file, stderr 繼承了FD1管道后,再被送往file,此時,file 只被打開了一次,也只使用了一個管道FD1,它包括了stdout和stderr的內容.
從IO效率上,前一條命令的效率要比后面一條的命令效率要低,所以在編寫shell腳本的時候,較多的時候我們會用command > file 2>&1?這樣的寫法.

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/386929.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/386929.shtml
英文地址,請注明出處:http://en.pswp.cn/news/386929.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

RUNOOB python練習題24 斐波那契數列的衍生問題

用來練手的python練習題,原題鏈接 : python練習實例24 題干: 有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13…求出這個數列的前20項之和。 拿到題目觀察數列,我們不難發現,…

企業郵箱服務器如何設置?

企業郵箱是郵箱服務商面向企業客戶開發的郵箱系統,采取管理員機制,企業使用自己的官網域名作為郵箱地址的后綴,由管理員為員工創建郵箱空間,并分配權限。在員工辦公的場景中,為了收發郵件方便,一般的都會使…

elasticsearch6.2.4 與logstash與kibana版本6.2.4搭建同步使用

解壓 tar -zxvf kibana-6.2.4-linux-x86_64.tar.gz 創建快捷方式 ln -s kibana-6.2.4-linux-x86_64 kibana /app/elasticsearch/kibana/bin #端口 server.port: 5601 #主機 server.host: "10.118.182.85" #es的地址 elasticsearch.url: http://10.118.182…

RUNOOB python練習題25 遞歸實現階乘

用來練手的python練習題,原題鏈接: python練習實例25 題干 : 求12!3!…20!的和。 題干要求我們實現一個階乘的求和,顯而易見的,我們可以使用遞歸來實現階乘,再使用循環語句對這些階乘就行求和。源代碼如下: # 求階乘 def facto…

淺析JavaScript解析賦值、淺拷貝和深拷貝的區別

文章首發于sau交流學習社區 一、賦值(Copy) 賦值是將某一數值或對象賦給某個變量的過程,分為: 1、基本數據類型:賦值,賦值之后兩個變量互不影響 2、引用數據類型:賦**址**,兩個變量具…

RUNOOB python練習題27 遞歸逆向輸出字符串

用來練手的python練習題,原題鏈接: python練習實例27 題干: 利用遞歸函數調用方式,將所輸入的5個字符,以相反順序打印出來。 實際要實現這個功能很簡單,我們只需要反向遍歷字符串即可。源代碼如下: def p_inverse_boucle(my_st…

ELK 6.2.4搭建

開源實時日志分析ELK平臺能夠完美的解決我們上述的問題,ELK由ElasticSearch、Logstash和Kiabana三個開源工具組成。 官方網站:https://www.elastic.co/products Elasticsearch是個開源分布式搜索引擎,它的特點有:分布式&#xff…

vim打開退出命令

打開文件方法:cd /Users/liuchang/.jenkins/secrets && vim initialAdminPassword 退出方法:先按ESC,再輸入冒號,在輸入命令時,直接輸入"q!",如圖。 轉載于:https://www.cnblogs.com/sma…

RUNNOOB python練習題 28 遞歸 數列

用來練手的python練習題其28,原題鏈接:python練習實例28 題干: 有5個人坐在一起,問第五個人多少歲?他說比第4個人大2歲。問第4個人歲數,他說比第3個人大2歲。問第三個人,又說比第2人大兩歲。問第2個人,說比…

使用Spring Task完成定時任務

1. 前言 上一篇我們學習了Quartz作為定時任務的框架的使用, 這一篇我們來學習Spring全家桶的SpringTask, 對于主張簡單易用的Spring家族來說, SpringTask無疑也是一個輕量級的框架,他比Quartz更容易上手. 2. pom.xml依賴 <dependencies> <dependency> …

python 讀寫文件

https://www.cnblogs.com/evablogs/p/6725242.html 文件的打開讀寫關閉&#xff08;文件使用完畢后必須關閉&#xff0c;因為文件對象會占用操作系統的資源&#xff09; 123456789#寫文件with open(rD:\Test\1.txt,w) as f: #with比<strong>try....finally<…

RUNOOB python練習題29

用來練手的python練習題其29&#xff0c;原題鏈接:python練習實例29 題干 : 給一個不多于5位的正整數&#xff0c;要求&#xff1a;一、求它是幾位數&#xff0c;二、逆序打印出各位數字。 實際這個正整數無論位數&#xff0c;在python3中都很容易實現。源代碼如下: def ent…

定時任務(Spring Cloud Task)

引入依賴 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.sprin…

P3357 最長k可重線段集問題 網絡流

P3357 最長k可重線段集問題 題目描述 給定平面 x-O-yx?O?y 上 nn 個開線段組成的集合 II&#xff0c;和一個正整數 kk 。試設計一個算法&#xff0c;從開線段集合 II 中選取出開線段集合 S\subseteq IS?I ,使得在 xx 軸上的任何一點 pp&#xff0c;SS 中與直線 xpxp 相交的開…

服務被人當肉雞了,叫一路賺錢 xig

網上看了一下&#xff0c;說有專門人研究服務 個人懷疑是阿里云內部人干的&#xff0c;因為買了服務器后&#xff0c;沒有安裝對外使用的地址性質的網站&#xff0c;IP開通了之后只有阿里的人知道&#xff0c;上面還有阿里云盾。 看了下進程地址&#xff0c;上面的啟動命令 x…

RUNOOB python練習題30 回文數

用來練手的python練習題 30。原題鏈接:python練習實例30 題干 : 一個5位數&#xff0c;判斷它是不是回文數。即12321是回文數&#xff0c;個位與萬位相同&#xff0c;十位與千位相同。 與上一個例題類似&#xff0c;判斷一個數是不是回文數&#xff0c;我們使用字符串類型更加…

高并發與負載均衡-keepalived-概念介紹

keepalived是用戶空間的程序&#xff0c;這個程序會同時在主的lvs和備用的lvs啟動 轉載于:https://www.cnblogs.com/LXL616/p/10793790.html

asp.net2.0跨域問題

什么叫跨域&#xff1f; 簡單理解就是不同服務器&#xff0c;不同域名之間的訪問。 1 如何設置asp.net web程序的跨域&#xff1f; 在web.config中添加如下代碼 1 <system.webServer> <httpProtocol> <customHeaders> <add name&qu…

RUNOOB python練習題31 根據已輸入的字符判斷星期幾

用來練手的python練習題31&#xff0c; 原題鏈接 : python練習實例31 題干 : 請輸入星期幾的第一個字母來判斷一下是星期幾&#xff0c;如果第一個字母一樣&#xff0c;則繼續判斷第二個字母。 一個條件語句練習題&#xff0c;非常簡單了可以說&#xff0c;就是把所有的條件都…

解決FTPClient上傳文件為空,顯示0字節

JAVA使用FTPClient上傳文件時總是為空&#xff0c;而使用FileZilla客戶端時卻不會。 后來查了下資料&#xff0c;FTP服務器有被動模式和主動模式。&#xff08;具體查另外資料&#xff09; 在JAVA中將FTPClient設置為被動模式即可解決問題。 import org.apache.commons.net.f…