以下是一个简单的 shell 脚本示例,用于启动 Java 应用程序的 jar 包和杀死该应用程序的进程:
#!/bin/sh
# 定义 Java 进程 ID 文件路径
PID_FILE="app.pid"
# 启动 Java 应用程序
start() {
nohup java -jar app.jar > app.log 2>&1 &
echo $! > $PID_FILE
echo "Java process started with PID $(cat $PID_FILE)"
}
# 杀死 Java 应用程序进程
stop() {
if [ -f $PID_FILE ]; then
kill $(cat $PID_FILE)
rm $PID_FILE
echo "Java process stopped"
else
echo "Java process is not running"
fi
}
# 根据命令参数执行对应操作
case "$1" in
start)
start
;;
stop)
stop
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
上述脚本中,定义了 Java 进程 ID 文件路径 PID_FILE,并实现了两个函数 start 和 stop,分别用于启动和杀死 Java 应用程序进程。在 start 函数中,使用 nohup 命令启动 Java 应用程序,并将输出重定向到日志文件 app.log 中;同时,将应用程序的进程 ID 写入文件 app.pid 中以便后续停止应用程序时使用。在 stop 函数中,根据进程 ID 文件中的内容杀死 Java 应用程序进程,并删除进程 ID 文件。最后,在 case 语句中根据传入的命令参数执行对应的操作。
可以将上述脚本保存为文件(例如 app.sh),然后使用chmod命令将文件设置为可执行权限:
chmod +x app.sh
接着,使用start命令启动 Java 应用程序:
./app.sh start
使用stop命令停止应用程序:
./app.sh stop
注意:使用时,需要将文件名、应用程序 jar 包名称和应用程序入口类名称等信息修改为实际的值。
示例效果:
本文暂时没有评论,来添加一个吧(●'◡'●)