如何创建脚本以重新启动JAR文件并在终端中获取输出?

时间:2012-05-21 14:24:21

标签: java bash shell jar

我使用以下脚本来启动和停止jar文件。

**start.sh**
#!/bin/bash
nohup nice java -jar Server.jar > ./Server.out 2>&1 &

**stop.sh**
#!/bin/bash
kill `ps -ef | grep Server.jar | grep -v grep | awk '{ print $2 }'`

现在我想合并两个脚本并创建一个新的重启脚本。我也希望在终端中输出此脚本而不是文本文件(Server.out)。

非常感谢任何输入/帮助。

1 个答案:

答案 0 :(得分:0)

您可以将两个sripts的命令放在一起(kill优先,java秒),或者只按适当的顺序调用两个srip。

这个想法是重启基本上等同于杀死当前运行的版本并开始一个新版本。

要避免输出到文件,请删除> ./Server.out部分。

编辑:删除了有关删除重定向部分的说明,因为我误读了grep脚本的kill部分

更新:错过了脚本的nohup部分:使用nohup 需要将输出重定向到文件,因为该进程已从终端分离(请参阅{ {3}})。如果您执行想要查看终端中的输出,请删除nohup以及重定向到文件