nohup &

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

官网地址:http://www.gnu.org/software/coreutils/manual/html_node/nohup-invocation.html#nohup-invocation

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.txt2>&1&


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

转自
作者:lconcise

链接:https://www.jianshu.com/p/b86f74ec0cc6

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。