繁体   English   中英

ubuntu shell脚本重启jar

[英]ubuntu shell script restart jar

我需要编写一个Shell脚本来关闭正在运行的.jar并在终端中重新打开它。 我从未写过Shell脚本,也不知道从哪里开始。

这是我用于在终端中运行应用程序的命令。

java -jar '/home/fdqadmin/NetBeansProjects/dbConvert2/dist/dbConvert2.jar' --Terminal=true

我正在运行Ubuntu 10.04 LTS。

通过“关闭正在运行的.jar”,您会怎么做? 您使用的是Un * x系统,因此可以确保“ kill -9”杀死该进程释放该进程使用的所有资源(或者您的Un * x系统不兼容,但是我从未见过一)。

因此,一旦您发送kill -9,该Java程序,其所有线程,所有内容都将完成 没有关机钩,什么也没有。 就像您拉电源线一样。

“ kill -9”是否可以杀死正在运行的Java程序? 被“杀死-9”之后,Java程序会重新启动吗? (它应该可以很好地重新启动,但并非总是如此)。

如果真正的kill是好的,并且您知道始终使用该命令行启动.jar,并且您知道用户只会启动一个这样的.jar,则可以这样:

#!/bin/bash

kill -9 $(ps aux | grep java | grep dbConvert2 | awk '{print $2}')
java -jar '/home/fdqadmin/NetBeansProjects/dbConvert2/dist/dbConvert2.jar' --Terminal=true

您也可以进入java-idiosynchratic领域,并使用“ jps”之类的“智能”命令,但我宁愿使用功能强大的Un * x工具,非常感谢:)

我之前在这里进行过评论,但这是来自developerWorks的有关Java Signal处理的有趣文档 ,如果您希望继续使用此方法,可能会感兴趣。

但是,我仍然认为,与关闭当前代码模块无关的进程一样,即使您编写了它,也要通过许多进程间通信机制之一要求它停止。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM