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

nohup運(yùn)行Java tail查看日志方式

 更新時(shí)間:2024年09月20日 16:22:15   作者:二掌柜,酒來!  
nohup命令允許程序在用戶退出賬戶或關(guān)閉終端后繼續(xù)運(yùn)行,常與"&"結(jié)合使用以實(shí)現(xiàn)程序的后臺(tái)執(zhí)行,配合重定向操作,nohup可以將程序輸出保存到日志文件中,如nohup java -jar XXX.jar &> myout.log &,此外,tail命令可用于實(shí)時(shí)監(jiān)控日志文件的變化

nohup運(yùn)行Java tail查看日志

后臺(tái)運(yùn)行命令:nohup

  • nohup命令:nohup是不掛斷的意思( no hang up)。
  • 如果你正在運(yùn)行一個(gè)進(jìn)程,而且你覺得在退出帳戶時(shí)該進(jìn)程還不會(huì)結(jié)束,那么可以使用nohup命令。
  • 該命令忽略所有掛(SIGHUP)信號(hào),可以在你退出帳戶/關(guān)閉終端之后繼續(xù)運(yùn)行相應(yīng)的進(jìn)程。

該命令的一般格式為:

nohup yourcommand &
  • yourcommand:?jiǎn)?dòng)對(duì)象命令。可以跟該命令需要的各種參數(shù)。
  • &是指在后臺(tái)運(yùn)行,但當(dāng)用戶推出(掛起)的時(shí)候,命令自動(dòng)也跟著退出. nohup與&結(jié)合起來,可以實(shí)現(xiàn)不掛斷的后臺(tái)運(yùn)行。

實(shí)現(xiàn)屏幕輸出記錄到日志文件

nohup yourcommand 2>&1 &
  • 0 – stdin (standard input),1 – stdout (standard output),2 – stderr (standard error) ;
  • 2>&1是將標(biāo)準(zhǔn)錯(cuò)誤(2)重定向到標(biāo)準(zhǔn)輸出(&1),標(biāo)準(zhǔn)輸出(&1)再被重定向輸入到日志文件中。

如果希望將日志輸出到別的文件中,可以增加一個(gè)文件路徑參數(shù)。

如下:

nohup yourcommand >myout.log 2>&1 &

其中myout.log是保存輸出的文件名稱;

運(yùn)行Java

nohup java -jar XXX.jar &

命令介紹

當(dāng)您在命令行中執(zhí)行 nohup java -jar XXX.jar & 命令時(shí),nohup 是一個(gè)在 Unix/Linux 系統(tǒng)中使用的命令,用于在后臺(tái)運(yùn)行程序,并忽略 HUP(Hangup)信號(hào),保證程序在用戶注銷或終端關(guān)閉時(shí)仍然可以繼續(xù)運(yùn)行。

nohup 命令會(huì)將程序的輸出重定向到一個(gè)名為 nohup.out 的文件,默認(rèn)情況下,該文件會(huì)在當(dāng)前目錄下創(chuàng)建。

因此,當(dāng)您執(zhí)行 nohup java -jar XXX.jar & 后,程序的輸出(包括日志)將會(huì)被重定向到 nohup.out 文件中。

添加額外參數(shù)

例如,我們需要在命令行設(shè)置端口信息

nohup java -jar XXX.jar --server.port=8080  &

修改日志輸出地址

nohup java -jar XXX.jar --server.port=8080 > /path/to/logfile.log &
> /path/to/logfile.log 部分將日志輸出重定向到指定的日志文件中。請(qǐng)將 /path/to/logfile.log 替換為您希望使用的實(shí)際日志文件路徑。

通過執(zhí)行上述命令,您將在后臺(tái)運(yùn)行 XXX.jar 文件,并將日志輸出到指定的日志文件中。

請(qǐng)注意,如果指定的日志文件路徑不存在,系統(tǒng)將自動(dòng)創(chuàng)建該文件。

實(shí)時(shí)監(jiān)測(cè)日志輸出內(nèi)容命令:tail

1、tail 命令可用于查看文件的內(nèi)容,參數(shù) -f 常用于查閱正在改變的日志文件,如實(shí)時(shí)查看 Java 應(yīng)用程序輸出的日志信息。

2、tail -f filename 會(huì)把 filename 文件里的最尾部的內(nèi)容顯示在屏幕上,并且不斷刷新,只要 filename 更新就可以看到最新的文件內(nèi)容。

參數(shù) 描述

  • -f 循環(huán)讀取
  • -q 不顯示處理信息
  • -v 顯示詳細(xì)的處理信息
  • -c <數(shù)目> 顯示的字節(jié)數(shù)
  • -n <行數(shù)> 顯示文件的尾部 n 行內(nèi)容
  • --pid=PID 與-f合用,表示在進(jìn)程ID,PID死掉之后結(jié)束
  • -q --quiet, --silent 從不輸出給出文件名的首部
  • -s --sleep-interval=S 與-f合用,表示在每次反復(fù)的間隔休眠S秒

常見用法舉例

舉例 描述

tail notes.log	顯示當(dāng)前目錄下 notes.log 文件的最后 10 行信息
tail -f notes.log	跟蹤當(dāng)前目錄下名為 notes.log 的文件的增長(zhǎng)情況,按 ctrl + c 可以退出跟蹤
tail -c 10 notes.log	顯示當(dāng)前目錄下 notes.log 文件的最后 10 個(gè)字符
tail -f -n 50 nohup.out	實(shí)時(shí)顯示 nohup.out 文件的最后 50 條信息,行數(shù)可以自己定義。

tail -f xxx.log             ----實(shí)時(shí)刷新最新日志
tail -100f xxx.log      --------實(shí)時(shí)刷新最新的100行日志
tail -100f xxx.log | grep [關(guān)鍵字]     -------查找最新的一百行中與關(guān)鍵字匹配的行
tail -100f xxx.log | grep '2019-10-29 16:4[0-9]'    ------查找最新的100行中時(shí)間范圍在2019-10-29 16:40-2019-10-29 16:49范圍中的行
tail -1000f xxx.log | grep -A 5 [關(guān)鍵字] ----------查看最新的1000行中與關(guān)鍵字匹配的行加上匹配行后的5行

舉例 描述

  • tail 命令是nohup命令的好搭檔。配合-f參數(shù),可以實(shí)時(shí)監(jiān)視向日志文件增加的信息。
tail -f myout.log
  • tail -f 等同于–follow=descriptor,根據(jù)文件描述符進(jìn)行追蹤,當(dāng)文件改名或被刪除,追蹤停止
  • tail -F 等同于–follow=name --retry,根據(jù)文件名進(jìn)行追蹤,并保持重試,即該文件被刪除或改名后,如果再次創(chuàng)建相同的文件名,會(huì)繼續(xù)追蹤
  • tailf 等同于tail -f -n 10,與tail -f不同的是,如果文件不增長(zhǎng),它不會(huì)去訪問磁盤文件,所以tailf特別適合那些便攜機(jī)上跟蹤日志文件,因?yàn)樗鼫p少了磁盤訪問,可以省電。

監(jiān)測(cè)程序是否在正常運(yùn)行中:ps

ps命令也可以和nohup命令配合使用,用于顯示當(dāng)前進(jìn)程 (process) 的狀態(tài)。可以監(jiān)視后臺(tái)程序是否在正常運(yùn)行中或者已經(jīng)掛掉。

ps -ef|grep yourcommand

grep 的參數(shù)

(縮寫來自Globally search a Regular Expression and Print)是一種強(qiáng)大的文本搜索工具,它能使用正則表達(dá)式搜索文本,并把匹配的行打印出來。

  • -a--text : 不要忽略二進(jìn)制的數(shù)據(jù)。
  • -A<顯示行數(shù)>--after-context=<顯示行數(shù)> : 除了顯示符合范本樣式的那一列之外,并顯示該行之后的內(nèi)容。
  • -b--byte-offset : 在顯示符合樣式的那一行之前,標(biāo)示出該行第一個(gè)字符的編號(hào)。
  • -B<顯示行數(shù)>--before-context=<顯示行數(shù)> : 除了顯示符合樣式的那一行之外,并顯示該行之前的內(nèi)容。
  • -c--count : 計(jì)算符合樣式的列數(shù)。
  • -C<顯示行數(shù)>--context=<顯示行數(shù)>-<顯示行數(shù)> : 除了顯示符合樣式的那一行之外,并顯示該行之前后的內(nèi)容。
  • -d <動(dòng)作>--directories=<動(dòng)作> : 當(dāng)指定要查找的是目錄而非文件時(shí),必須使用這項(xiàng)參數(shù),否則grep指令將回報(bào)信息并停止動(dòng)作。
  • -e<范本樣式>--regexp=<范本樣式> : 指定字符串做為查找文件內(nèi)容的樣式。
  • -E--extended-regexp : 將樣式為延伸的正則表達(dá)式來使用。

-f<規(guī)則文件>--file=<規(guī)則文件> : 指定規(guī)則文件,其內(nèi)容含有一個(gè)或多個(gè)規(guī)則樣式,讓grep查找符合規(guī)則條件的文件內(nèi)容,格式為每行一個(gè)規(guī)則樣式。

  • -F--fixed-regexp : 將樣式視為固定字符串的列表。
  • -G--basic-regexp : 將樣式視為普通的表示法來使用。
  • -h--no-filename : 在顯示符合樣式的那一行之前,不標(biāo)示該行所屬的文件名稱。
  • -H--with-filename : 在顯示符合樣式的那一行之前,表示該行所屬的文件名稱。
  • -i--ignore-case : 忽略字符大小寫的差別。
  • -l--file-with-matches : 列出文件內(nèi)容符合指定的樣式的文件名稱。
  • -L--files-without-match : 列出文件內(nèi)容不符合指定的樣式的文件名稱。
  • -n--line-number : 在顯示符合樣式的那一行之前,標(biāo)示出該行的列數(shù)編號(hào)。
  • -o--only-matching : 只顯示匹配PATTERN 部分。
  • -q--quiet--silent : 不顯示任何信息。
  • -r--recursive : 此參數(shù)的效果和指定"-d recurse"參數(shù)相同。
  • -s--no-messages : 不顯示錯(cuò)誤信息。
  • -v--revert-match : 顯示不包含匹配文本的所有行。
  • -V--version : 顯示版本信息。
  • -w--word-regexp : 只顯示全字符合的列。
  • -x --line-regexp : 只顯示全列符合的列。
  • -y : 此參數(shù)的效果和指定"-i"參數(shù)相同。

總結(jié)

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

相關(guān)文章

  • Spring?Boot?微服務(wù)中集成?MyBatis-Plus?與集成原生?MyBatis在配置上的不同

    Spring?Boot?微服務(wù)中集成?MyBatis-Plus?與集成原生?MyBatis在配置上的不同

    在Spring?Boot微服務(wù)中,MyBatis-Plus通過其Boot?Starter和豐富的配置屬性,極大的簡(jiǎn)化了MyBatis的集成和配置工作,尤其是對(duì)于全局設(shè)置和常用插件的使用,本文給大家介紹Spring?Boot?微服務(wù)中集成?MyBatis-Plus與集成原生?MyBatis?有哪些配置上的不同,感興趣的朋友一起看看吧
    2025-04-04
  • SpringBoot 如何實(shí)現(xiàn)自定義Redis序列化

    SpringBoot 如何實(shí)現(xiàn)自定義Redis序列化

    這篇文章主要介紹了SpringBoot 如何實(shí)現(xiàn)自定義Redis序列化方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 關(guān)于Controller 層返回值的公共包裝類的問題

    關(guān)于Controller 層返回值的公共包裝類的問題

    本文給大家介紹Controller 層返回值的公共包裝類-避免每次都包裝一次返回-InitializingBean增強(qiáng),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-09-09
  • Spring Event事件通知機(jī)制解讀

    Spring Event事件通知機(jī)制解讀

    這篇文章主要介紹了Spring Event事件通知機(jī)制解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • MyEclipse如何取消默認(rèn)工作空間方法示例

    MyEclipse如何取消默認(rèn)工作空間方法示例

    這篇文章主要介紹了MyEclipse如何取消默認(rèn)工作空間,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • java組件SmartUpload和FileUpload實(shí)現(xiàn)文件上傳功能

    java組件SmartUpload和FileUpload實(shí)現(xiàn)文件上傳功能

    這篇文章主要為大家詳細(xì)介紹了java組件SmartUpload和FileUpload實(shí)現(xiàn)文件上傳功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • Java實(shí)現(xiàn)FTP服務(wù)器功能實(shí)例代碼

    Java實(shí)現(xiàn)FTP服務(wù)器功能實(shí)例代碼

    FTP(File Transfer Protocol 文件傳輸協(xié)議)是Internet 上用來傳送文件的協(xié)議,本文給大家分享Java實(shí)現(xiàn)FTP服務(wù)器功能實(shí)例代碼,對(duì)java實(shí)現(xiàn)ftp服務(wù)器相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧
    2015-12-12
  • 詳解SpringBoot中Session超時(shí)原理說明

    詳解SpringBoot中Session超時(shí)原理說明

    本篇文章主要介紹了詳解SpringBoot中Session超時(shí)原理說明,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • java安全編碼指南之:聲明和初始化說明

    java安全編碼指南之:聲明和初始化說明

    這篇文章主要介紹了java安全編碼指南之:聲明和初始化說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • 基于Java SWFTools實(shí)現(xiàn)把pdf轉(zhuǎn)成swf

    基于Java SWFTools實(shí)現(xiàn)把pdf轉(zhuǎn)成swf

    這篇文章主要介紹了基于Java SWFTools實(shí)現(xiàn)把pdf轉(zhuǎn)成swf,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11

最新評(píng)論