nohup命令使用总结

nohup命令使用总结

nohup 命令的主要作用是允许用户在 Unix 和类 Unix 系统中运行长时间或需要持续运行的命令,即使用户退出了终端会话或关闭了终端窗口同时可以选择将日志输出到指定文件。

1.启动jar包的命令:

nohup java -jar your-application.jar > output.log 2>&1 &    #到jar包目录再执行,没到目录也不报错,还返回进程号,所以你无法判断

output.log 是将输出写入的文件名。

2>&1 确保标准错误也写入同一个输出文件。
">"符号用于将命令的`标准输出`重定向到指定的文件中

outlog.log 表示将终端输出保存到outlog.log文件中

"2>"表示将命令的`标准错误`输出重定向到指定的文件中

2>&1 表示将命令的标准错误输出重定向到标准输出1中一起输出 (标准输出1指>outlog.log文件)

& 后台挂起

如果使用了 output.log作为名字,可以使用以下命令查看输出:

tail -f output.log  
#/dev/null 是 Unix 和类 Unix 操作系统中的一个特殊文件,它被称为“位桶”(bit bucket),因为它会丢弃所有写入它的数据。这个文件通常用于丢弃不需要的输出或重定向不需要的命令输出。当运行命令时,如果不需要查看输出,可以将输出重定向到 /dev/null

nohup java -jar your-application.jar >/dev/null & 

注意,避免直接删除日志文件,会造成服务无法输出日志,服务异常直接停止运行

不停止服务,清空nohup.out文件方法:

第一种:

cat /dev/null > nohup.out

第二种:

cp /dev/null nohup.out

输出的日志过多容易增大磁盘压力,可以只输出错误信息:

nohup java -jar your-application.jar > /dev/null   2>error.log  &       #输出到error.log

什么日志都不输出:

nohup java -jar your-application.jar > /dev/null   2>&1   &  #同上

查看进程:

ps -aux | grep java

参数说明:

  • a: 显示所有程序
  • u: 以用户为主的格式来显示
  • x: 显示所有程序,不区分终端机

有以下特殊情况:

在 Linux 系统中,ps -aux 命令用来显示当前系统中的进程状态。当你执行 ps -aux | grep java 命令时,实际上是在查找所有包含 “Java” 字符串的进程。然而,这个命令本身也会创建一个新的进程,即执行 grep 命令的进程。这就是为什么你会看到每次执行命令时,显示的进程列表中都有一个 grep java 的进程,而且它的 PID(进程ID)每次都不同。

这里解释一下这个过程:

  1. 你执行 ps -aux | grep java 命令。
  2. 系统首先执行 ps -aux 命令,列出所有进程。
  3. 然后,系统将 ps -aux 的输出作为 grep java 的输入。
  4. grep java 命令开始运行,搜索包含 “Java” 的行。
  5. 因为 grep java 命令是新启动的,所以它也会出现在进程列表中,显示为一个新的进程。

如果你想要查看实际运行的 Java 进程,而不是 grep 命令本身,你应该使用以下命令:

ps -aux | grep '[j]ava'

这里的 `[j]` 确保 `grep` 只匹配 "java" 而不是 "grep java" 中的 "java"。这样,你就不会看到 `grep` 命令的进程本身了。

终止进程:

使用 kill 命令可以终止 nohup 启动的进程。

kill  进程pid

kill -9 进程pid #强制结束进程
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我不会敲代码a

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值