java – 如何在shell变量中捕获系统调用的结果?
发布时间:2020-05-23 13:31:31 所属栏目:Linux 来源:互联网
导读:我们想要构建一个每晚运行的脚本(杀死并重启java进程).为此,我们需要捕获进程号(因为可能有多个java进程在运行).下面的命令基本上是我们用来获取进程号的命令,可能是在grep末尾有一个正则表达式.除非有更好的建议.root#ps -e |grep java 18179 pts/0 00:00:43
|
我们想要构建一个每晚运行的脚本(杀死并重启java进程).为此,我们需要捕获进程号(因为可能有多个java进程在运行).下面的命令基本上是我们用来获取进程号的命令,可能是在grep末尾有一个正则表达式.除非有更好的建议.
我们想知道如何解析上面的输出并将其转换为shell变量,因此我们可以使用kill命令,如下所示.
注1:我们不能依赖正常服务停止命令的原因是因为进程有时不想死.我们必须手动使用kill命令. 最佳答案 有几种方法可以解决这个问题.如果你正在使用bash,那么shell变量’$!’将包含最后一个分叉子进程的PID.因此,在启动Java程序之后,执行以下操作:
然后,在init脚本停止Java进程之后:
确保在完成后删除pid文件. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
推荐文章
站长推荐
- 如何在.dll和.so中使用JNA与相同的回调签名
- Linux下Makefile的automake生成全攻略--转
- linux – Varnish“FetchError no backend conne
- 如何为多个基于Linux的服务器提供适当的备份?
- 如何在raspberry PI /或任何基于Linux的PC上托管
- linux – drwxrwxrwt中的t或t的值是多少?
- linux – ‘grep -q’没有退出’tail -f’
- linux – Linked无法找到符号,但读取库并存在符号
- LINUX入门:Linux RedHat无法安装软件问题(No p
- linux – 如何使用rlwrap杀死telnet客户端,因为^
热点阅读
