nohup
nohup命令:如果你正在运行一个进程,而且你觉得在发出中断信号时该进程还不会结束,那么可以使用nohup命令。该命令可以在你关闭终端之后继续运行相应的进程。
在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中。
1. nohup command > myout.file 2>&1 &
在上面的例子中,0 – stdin (standard input),1 – stdout (standard output),2 – stderr (standard error) ;
2>&1是将标准错误(2)重定向到标准输出(&1),标准输出(&1)再被重定向输入到myout.file文件中。
nohup和&的区别
& : 指在后台运行
nohup : nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,例如我们断开SSH连接都不会影响他的运行,注意了nohup没有后台运行的意思;&才是后台运行,一般nohup 是和&一起搭配使用
&是指在后台运行,但当用户推出(挂起)的时候,命令自动也跟着退出
结合起来用就是
nohup COMMAND &
这样就能使命令永久的在后台执行
例如:在ssh连接中运行communityVipMS.jar 这个程序,如果不加入nohup 和& 则直接运行的,当按Ctrl+c等中断信号或者退出ssh连接的时候,程序也终止了。
nohup java -jar communityVipMS-1.0.jar --spring.profiles.active=test --server.port=8090 &