linux下使用jobs查看不到用nohup方式后台运行的jar程序

发布于 2021-12-01 10:02:05 字数 341 浏览 883 评论 3

可执行的jar文件,是一个服务器程序,如果使用java -jar xxx 方式运行,命令行会一直被占用,打印log,并支持输入软件提供的命令,由于它占用命令行,不能做别的事,所以我使用nohup命令,让程序运行到后台,命令如下:

nohup java -jar xxx &



可以运行,可以在top里找到这个进程,但是jobs命令是空的,没有后台进程,那我怎么才能把这个软件在唤到前台,因为我现在想输入些命令,来控制这个软件。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

岁吢 2021-12-01 10:44:06

多谢各位 ,我采用了nohup,每次要关闭时,用kill

离去的眼神 2021-12-01 10:20:50

因为jobs是看当前session的jobs,如果你都退出shell了,那么当时的session就被销毁了,自然jobs什么都看不到。

你只能手工kill掉pid了。

或者使用screen/tmux这样的session保持软件运行命令。

当然,如果你的程序要作为长期的服务运行,那么我建议你写成service(upstart, systemd, init.d)脚本。这个是每个SA的基本功。

平生欢 2021-12-01 10:02:57

现在我在服务端运行基本也是这两个方案:

1、nohup:简单,但是不好管理,输入的内容nohup.out会越来越大,记得清除

2、screen:入门有点难度,这个管理方便些。指定好screen name。多程序的时候很好用,不过这个输出只能看到当前的。

不管那种,减少输出都是不会错的,print很消耗性能的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文