1

我使用以下脚本来启动和停止 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)中输出此脚本。

将不胜感激任何类型的输入/帮助。

4

1 回答 1

1

您可以将两个 scipt 的命令放在一起(kill第一个,java第二个),也可以按适当的顺序调用两个 scipt。

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

为避免输出到文件,请移除该> ./Server.out部分。

编辑:删除了关于删除重定向部分的注释,因为我误读了脚本的grep一部分kill

更新:错过了nohup脚本的一部分:nohup需要将输出重定向到文件,因为该进程与终端分离(请参阅文档)。如果您确实想在终端中查看输出,请删除nohup以及重定向到文件

于 2012-05-21T14:28:59.803 回答