java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > nohup运行Java tail查看日志

nohup运行Java tail查看日志方式

作者:二掌柜,酒来!

nohup命令允许程序在用户退出账户或关闭终端后继续运行,常与"&"结合使用以实现程序的后台执行,配合重定向操作,nohup可以将程序输出保存到日志文件中,如nohup java -jar XXX.jar &> myout.log &,此外,tail命令可用于实时监控日志文件的变化

nohup运行Java tail查看日志

后台运行命令:nohup

该命令的一般格式为:

nohup yourcommand &

实现屏幕输出记录到日志文件

nohup yourcommand 2>&1 &

如果希望将日志输出到别的文件中,可以增加一个文件路径参数。

如下:

nohup yourcommand >myout.log 2>&1 &

其中myout.log是保存输出的文件名称;

运行Java

nohup java -jar XXX.jar &

命令介绍

当您在命令行中执行 nohup java -jar XXX.jar & 命令时,nohup 是一个在 Unix/Linux 系统中使用的命令,用于在后台运行程序,并忽略 HUP(Hangup)信号,保证程序在用户注销或终端关闭时仍然可以继续运行。

nohup 命令会将程序的输出重定向到一个名为 nohup.out 的文件,默认情况下,该文件会在当前目录下创建

因此,当您执行 nohup java -jar XXX.jar & 后,程序的输出(包括日志)将会被重定向到 nohup.out 文件中。

添加额外参数

例如,我们需要在命令行设置端口信息

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

修改日志输出地址

nohup java -jar XXX.jar --server.port=8080 > /path/to/logfile.log &
> /path/to/logfile.log 部分将日志输出重定向到指定的日志文件中。请将 /path/to/logfile.log 替换为您希望使用的实际日志文件路径。

通过执行上述命令,您将在后台运行 XXX.jar 文件,并将日志输出到指定的日志文件中。

请注意,如果指定的日志文件路径不存在,系统将自动创建该文件。

实时监测日志输出内容命令:tail

1、tail 命令可用于查看文件的内容,参数 -f 常用于查阅正在改变的日志文件,如实时查看 Java 应用程序输出的日志信息。

2、tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。

参数 描述

常见用法举例

举例 描述

tail notes.log	显示当前目录下 notes.log 文件的最后 10 行信息
tail -f notes.log	跟踪当前目录下名为 notes.log 的文件的增长情况,按 ctrl + c 可以退出跟踪
tail -c 10 notes.log	显示当前目录下 notes.log 文件的最后 10 个字符
tail -f -n 50 nohup.out	实时显示 nohup.out 文件的最后 50 条信息,行数可以自己定义。

tail -f xxx.log             ----实时刷新最新日志
tail -100f xxx.log      --------实时刷新最新的100行日志
tail -100f xxx.log | grep [关键字]     -------查找最新的一百行中与关键字匹配的行
tail -100f xxx.log | grep '2019-10-29 16:4[0-9]'    ------查找最新的100行中时间范围在2019-10-29 16:40-2019-10-29 16:49范围中的行
tail -1000f xxx.log | grep -A 5 [关键字] ----------查看最新的1000行中与关键字匹配的行加上匹配行后的5行

举例 描述

tail -f myout.log

监测程序是否在正常运行中:ps

ps命令也可以和nohup命令配合使用,用于显示当前进程 (process) 的状态。可以监视后台程序是否在正常运行中或者已经挂掉。

ps -ef|grep yourcommand

grep 的参数

(缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

-f<规则文件>--file=<规则文件> : 指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文