linux系统下当用户退出或关闭终端时,进程仍然继续运行
一、问题描述在linux系统中执行.jar文件,该文件jar包是用来跑微服务的。当我关闭终端时,该进程也关闭了。但这并不是我想要的,我期望的是当我关闭或者退出终端时,只是关闭终端的窗口,但之前执行的.jar文件进程还在跑。二、原因挂断信号(SIGHUP)终止程序。当终端接口检测到网络连接断开,将挂断信号发送给控制进程(会话期首进程)。如果会话期首进程终止,则该信号发送到该...
·
一、问题描述
- 在linux系统中执行.jar文件,该文件jar包是用来跑微服务的。
- 当我关闭终端时,该进程也关闭了。
- 但这并不是我想要的,我期望的是当我关闭或者退出终端时,只是关闭终端的窗口,但之前执行的.jar文件进程还在跑。
二、原因
- 挂断信号(SIGHUP)终止程序。
- 当终端接口检测到网络连接断开,将挂断信号发送给控制进程(会话期首进程)。
- 如果会话期首进程终止,则该信号发送到该会话期前台进程组。
- 一个进程退出导致一个孤儿进程组的产生时,如果任意一个孤儿进程组进程处于STOP状态,发送SIGHUP和SIGCONT信号到该进程组中所有进程。
三、解决方法
nohup java -jar XXX.jar &
nohup:意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行。
&:后台运行。
注:主要用来记录工作中遇到的问题。水平有限随便写写,不喜勿喷。
更多推荐
已为社区贡献1条内容
所有评论(0)