——作为Java程序员,经常会遇到这样一个问题,打个jar包,测试或者上线生产,于是乎面临的选择来了,java –jar or nohup?
下面我来扒一扒:
一、 java -jar a.jar &
直接启动jar文件,在当前会话进程中开启一个子进程来运行程序,这个子进程会随着会话进程的结束而结束。
这种情况适合短时间测试用。
二、 nohup java -jar a.jar&
先交代一下名词:
hangup (挂断),终端退出时会发送 hangup 信号来通知其关闭所有子进程。
nohup(不挂断,忽略挂断信号)
nohup 的使用是十分方便的,只需在要处理的命令前加上 nohup 即可,标准输出和标准错误缺省会被重定向到 nohup.out 文件中。一般我们可在结尾加上"&"来将命令同时
放入后台运行,也可用">filename2>&1"来更改缺省的重定向文件名。
这种情况适合在生产环境长时间运行。
相关资源:Linux中nohup与&的用法和区别详解