日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

nohub java -jar xx.jar /dev/null 21 以及/dev/null是什么 21又是什么?

發(fā)布時間:2023/12/14 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nohub java -jar xx.jar /dev/null 21 以及/dev/null是什么 21又是什么? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

原帖地址:

https://blog.csdn.net/dufufd/article/details/79061330#commentsedit


Linux 運行jar包命令如下:

方式一:

java?-jar?XXX.jar?

特點:當前ssh窗口被鎖定,可按CTRL + C打斷程序運行,或直接關閉窗口,程序退出

那如何讓窗口不鎖定?

方式二

java?-jar?XXX.jar?&

&代表在后臺運行。

特定:當前ssh窗口不被鎖定,但是當窗口關閉時,程序中止運行。

繼續(xù)改進,如何讓窗口關閉時,程序仍然運行?

方式三

nohup?java?-jar?XXX.jar?&

nohup 意思是不掛斷運行命令,當賬戶退出或終端關閉時,程序仍然運行

當用 nohup 命令執(zhí)行作業(yè)時,缺省情況下該作業(yè)的所有輸出被重定向到nohup.out的文件中,除非另外指定了輸出文件。

方式四

nohup?java?-jar?XXX.jar?>temp.txt?&

解釋下?>temp.txt

command >out.file ??

command >out.file是將command的輸出重定向到out.file文件,即輸出內(nèi)容不打印到屏幕上,而是輸出到out.file文件中。

?

可通過jobs命令查看后臺運行任務

jobs

那么就會列出所有后臺執(zhí)行的作業(yè),并且每個作業(yè)前面都有個編號。?
如果想將某個作業(yè)調回前臺控制,只需要 fg + 編號即可。

fg?23

Shell腳本———— /dev/null 2>&1詳解

1、可以將/dev/null看作"黑洞". 它非常等價于一個只寫文件. 所有寫入它的內(nèi)容都會永遠丟失. 而嘗試從它那兒讀取內(nèi)容則什么也讀不到. 然而, /dev/null對命令行和腳本都非常的有用.?
用處:?
禁止標準輸出.??? 1 cat $filename >/dev/null?? # 文件內(nèi)容丟失,而不會輸出到標準輸出.?
禁止標準錯誤. ?? 2>/dev/null 這樣錯誤信息[標準錯誤]就被丟到太平洋去了.?

2、1>/dev/null 2>&1的含義?

> 代表重定向到哪里,例如:echo "123" > /home/123.txt?
1 表示stdout標準輸出,系統(tǒng)默認值是1,所以">/dev/null"等同于"1>/dev/null"?
2 表示stderr標準錯誤?
& 表示等同于的意思,2>&1,表示2的輸出重定向等同于1?

那么本文標題的語句:?
1>/dev/null 首先表示標準輸出重定向到空設備文件,也就是不輸出任何信息到終端,說白了就是不顯示任何信息。?
2>&1 接著,標準錯誤輸出重定向等同于 標準輸出,因為之前標準輸出已經(jīng)重定向到了空設備文件,所以標準錯誤輸出也重定向到空設備文件。?

3、/dev/zero文件代表一個永遠輸出 0的設備文件,使用它作輸入可以得到全為空的文件。因此可用來創(chuàng)建新文件和以覆蓋的方式清除舊文件。?

下面使用dd命令將從zero設備中創(chuàng)建一個10K大小(bs決定每次讀寫1024字節(jié),count定義讀寫次數(shù)為10次),但內(nèi)容全為0的文件。?
dd if=/dev/zero of=file count=10 bs=1024

?

shell中可能經(jīng)常能看到:>/dev/null 2>&1?

命令的結果可以通過%>的形式來定義輸出

分解這個組合:“>/dev/null 2>&1” 為五部分。

1:> 代表重定向到哪里,例如:echo "123" > /home/123.txt
2:/dev/null 代表空設備文件
3:2> 表示stderr標準錯誤
4:& 表示等同于的意思,2>&1,表示2的輸出重定向等同于1
5:1 表示stdout標準輸出,系統(tǒng)默認值是1,所以">/dev/null"等同于 "1>/dev/null"

因此,>/dev/null 2>&1?也可以寫成“1> /dev/null 2> &1”

那么本文標題的語句執(zhí)行過程為:
1>/dev/null :首先表示標準輸出重定向到空設備文件,也就是不輸出任何信息到終端,說白了就是不顯示任何信息。
2>&1 :接著,標準錯誤輸出重定向 到 標準輸出,因為之前標準輸出已經(jīng)重定向到了空設備文件,所以標準錯誤輸出也重定向到空設備文件。

最常用的方式有:
?? ?
command > file 2>file? 與command > file 2>&1

它們有什么不同的地方嗎?
????? 首先command > file 2>file 的意思是將命令所產(chǎn)生的標準輸出信息,和錯誤的輸出信息送到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的內(nèi)容。
????? 從IO效率上,前一條命令的效率要比后面一條的命令效率要低,所以在編寫shell腳本的時候,較多的時候我們會command > file 2>&1 這樣的寫法。

貴在堅持,相信自己.


Shell中的>/dev/null 2>&1 與 2>&1 >/dev/null 與&>/dev/null 的區(qū)別

默認情況下,總是有三個文件處于打開狀態(tài),標準輸入(鍵盤輸入)、標準輸出(輸出到屏幕)、標準錯誤(也是輸出到屏幕),它們分別對應的文件描述符是0,1,2 。那么我們來看看下面的幾種重定向方法的區(qū)別:

>/dev/null 2>&1?

// ?實際上,應該等同于這樣: 1>/dev/null 2>/dev/null ,默認情況下就是1,標準輸出,所以一般都省略。 而&符號,后面接的是必須的文件描述符。不能寫成2>1,這樣就成了標準錯誤重定向到文件名為1的文件中了,而不是重定向標準錯誤到標準輸出中。所以這里就是:標準輸出重定向到了/dev/null,而標準錯誤又重定向到了標準輸出,所以就成了標準輸出和標準錯誤都重定向到了/dev/null

?

2>&1 >/dev/null?

// 咋一看,這個跟上面那個有啥區(qū)別呢,不也是標準錯誤重定向到標準輸出,而標準輸出重定向到/dev/null么? 最后不應該都重定向/dev/null么? 我是這么理解的!一條指令同一時刻要么產(chǎn)生標準錯誤,要么產(chǎn)生標準輸出。 當產(chǎn)出標準錯誤的時候,因這個標準錯誤重定向到了標準輸出,而標準輸出是輸出到屏幕。這個時候標準輸出還沒有被重定向到/dev/null,于是在屏幕上打印了。當產(chǎn)生標準輸出時,那么它就不是標準錯誤,2>&1無效,于是標準輸出重定向dev/null,不打印到屏幕。所以最終結果將是:標準錯誤打印到屏幕,而標準輸出不打印到屏幕。

-------------

2016-01-22 更新

突然看到N年前的博客, 才發(fā)現(xiàn)錯誤百出.更新下, 以免誤人, 事實上, 命令行的重定向什么的, 是在執(zhí)行命令之前就準備好了的. 解釋順序從左至右依次進行, 2&>1 ,而1是屏幕, 所以標準錯誤重定向到屏幕, 再而 1>/dev/null , 即標準輸出重定向到 /dev/null, 上述2>&1 >/dev/null ?并不是什么同一時刻要么產(chǎn)生標準輸出要么產(chǎn)生標準錯誤. 而是兩個不同的東西.

?

以以下變量的方式做個解釋,就很明顯了,這兩種方式是不同的,前者就像:

a=1

b=a

?

而后者就像:

b=a

a=1

?

&>/dev/null

// 這個就是,不管你是啥玩意兒文件描述符,通通重定向到/dev/null

總結

以上是生活随笔為你收集整理的nohub java -jar xx.jar /dev/null 21 以及/dev/null是什么 21又是什么?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。