欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springboot項(xiàng)目不輸出nohup.out日志的解決

 更新時(shí)間:2021年07月27日 14:25:45   作者:yang名揚(yáng)  
這篇文章主要介紹了springboot項(xiàng)目不輸出nohup.out日志的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

springboot不輸出nohup.out日志

nohup java -jar mgcr_pc-0.0.1-SNAPSHOT.war >/dev/null 2>log & 

注意:這個(gè)log是一個(gè)文件,可以隨意命名

ps aux|grep 你剛剛運(yùn)行的包名.jar

然后會(huì)顯示線(xiàn)程id

關(guān)閉進(jìn)程 如5555

kill -9 5555

nohup啟動(dòng)程序后,nohup.out過(guò)大的解決

一般百度到都會(huì)說(shuō):

cp /dev/null nohup.out
cat /dev/null nohup.out

不能簡(jiǎn)單的刪除那個(gè)文件,因?yàn)閘inux的文件管理是引用計(jì)數(shù)法。

可以清空nohup日志,其實(shí)關(guān)鍵在于啟動(dòng)時(shí)的流輸入方式。如果使用>方式,使用上述方法操作后,再次寫(xiě)入時(shí),文件會(huì)重新變成原來(lái)的大小,而使用>>追加方式,確實(shí)可以消除文件的大小。

原因基本描述如下:

linux的文件管理使用fd,用戶(hù)可以自定義3以上(包括3)的文件,而0,1,2,則對(duì)應(yīng)了3個(gè)標(biāo)準(zhǔn)流

  • 0=標(biāo)準(zhǔn)輸入流stdin
  • 1=標(biāo)準(zhǔn)輸出流stdout
  • 2=標(biāo)準(zhǔn)錯(cuò)誤流stderr

shell讀取到>時(shí),判斷文件是否存在,不存在則創(chuàng)建文件,之后以w方式寫(xiě)入,文件指針只會(huì)向后增加。

因此使用>作為nohup的重定向時(shí),文件指針一直向后增加,使用上述兩個(gè)命令操作nohup.out,操作時(shí)確實(shí)重寫(xiě)了整個(gè)文件,但是在程序的下次輸出時(shí),文件的大小又重新變回原來(lái)的大小了,這很正常,因?yàn)槲募闹羔樳€在原來(lái)的大小的位置,寫(xiě)入操作時(shí),指針向后偏移“輸出內(nèi)容的大小”,并寫(xiě)入“輸出內(nèi)容”,此時(shí)文件不得不重新回到原本的大小,雖然原本的內(nèi)容已經(jīng)不見(jiàn)了(此時(shí)那些內(nèi)容的填充為0,類(lèi)似的操作一次,然后查看nohup文件的16進(jìn)制表示,就會(huì)發(fā)現(xiàn)它們?nèi)慷际?x00,可以稱(chēng)為文件空洞)

而使用>>方式寫(xiě)入文件時(shí),使用a+方式寫(xiě)入文件,文件指針指向文件的結(jié)束符EOF位置。

在使用使用上述兩個(gè)命令操作nohup.out時(shí),文件的結(jié)束符確實(shí)重新回到了0x00地址,因此可以清空原本的內(nèi)容,并且不會(huì)再創(chuàng)建文件空洞。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論