不要想就知道最近又研究了某某某,这是学习的必经之路,毕竟看而不用就不会属于你;废话不多说,直接演示;
我的虚拟机装的centos7,目前在/opt目录下上传了一个MybatisDemo.jar,这个功能就是每三秒打印一下时间(无意义,演示直观);如下图:
先看下有没有运行这个程序;ps -ef | grep java 或者ps - aux | grep java ;如下图没有启动(pid 为5009 是指查询的这条指令,想要过滤加上 “| grep -v grep”)
1、使用nohup
先确认没有启动之后,我在xshell用命令nohup java -jar MybatisDemo-1.0-SNAPSHOT.jar >mybatis.log 2>&1 启动;然后查看日志tail -20f mybatis.log;正常启动
关闭xshell,发现程序停还在运行;
2、使用&
命令java -jar MybatisDemo-1.0-SNAPSHOT.jar >mybatis.log 2>&1 &;可以看到已经启动;
关闭xshell,发现程序停止运行;
3、使用nohup和&
使用命令nohup java -jar MybatisDemo-1.0-SNAPSHOT.jar > mybatis.log 2>&1 &
在关闭xshell,发现程序依然运行;
4、总结
nohup :no hand up ,不挂断的运行,关闭xshell可以继续运行
&(命令最后的那个):在后台运行,关闭xshell不会继续运行
2>&1 : 将标准错误(2)重定向到标准输出(&1); >mybatis.log将标准输出(&1)再被重定向输入到mybatis.log文件中