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