linux下使用jobs查看不到用nohup方式后台运行的jar程序
可执行的jar文件,是一个服务器程序,如果使用java -jar xxx 方式运行,命令行会一直被占用,打印log,并支持输入软件提供的命令,由于它占用命令行,不能做别的事,所以我使用nohup命令,让程序运行到后台,命令如下:
nohup java -jar xxx &
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
多谢各位 ,我采用了nohup,每次要关闭时,用kill
因为jobs是看当前session的jobs,如果你都退出shell了,那么当时的session就被销毁了,自然jobs什么都看不到。
你只能手工kill掉pid了。
或者使用screen/tmux这样的session保持软件运行命令。
当然,如果你的程序要作为长期的服务运行,那么我建议你写成service(upstart, systemd, init.d)脚本。这个是每个SA的基本功。
现在我在服务端运行基本也是这两个方案:
1、nohup:简单,但是不好管理,输入的内容nohup.out会越来越大,记得清除
2、screen:入门有点难度,这个管理方便些。指定好screen name。多程序的时候很好用,不过这个输出只能看到当前的。
不管那种,减少输出都是不会错的,print很消耗性能的