nohup java_nohup &

本文详细介绍了nohup命令的使用方法及注意事项。nohup可以让命令忽略挂断信号,在用户登出后继续运行。文章解释了nohup与后台运行的区别,并提供了具体的使用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习一个指令,最好从官方文档看:

nohup 不挂断的运行

runs the given command with hangup signals ignored, so that the command can continue running in the background after you log out. Synopsis:

官方是这么介绍的:在忽略挂起信号的情况下运行给定的命令,以便在注销后命令可以在后台继续运行。

可以这么理解:不挂断的运行,注意并没有后台运行的功能,就是指,用nohup 运行命令可以是命令永远运行下去。

& 指后台运行

example

nohup java -jar demo.jar

ssh连接中,运行这条指令,你会发现进程中有了demo.jar 这条进程,但它并不在后台运行

这时你无法在当前ssh连接中进行其他命令,因为它不是后台运行,你ctrl+c,这条进程会消失。

所以nohup 并不支持后台运行,它是忽略内部的挂断信号,不挂断运行

那么

nohup COMMAND &

把 nohup与& 结合在一起,这样就可以不挂断的永久在后台执行

example 2

nohup java -jar demo.jar 2>&1 &

以上命令:

不挂断的后台启动 demo.jar,

"2>&1" 表示 错误和输出都传到nohup.out文件中,默认状态只把输出输出到nohup.out文件中

nohup 命令默认输出到nohup.out文件中

nohup java -jar demo.jar >./log.txt 2>&1 &

默认输出文件修改为当前目录下 log.txt文件

脚本记录

start.sh

#!bin/bash

# 最简洁的启动

resource_name=xxxx.jar

nohup java -jar ./target/$resource_name >/dev/null 2>&1 &

echo $!>process.pid

echo start success!

stop.sh

#!/bin/bash

kill -9 `cat process.pid`

echo stop success!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值