需要注意脚本文件名不能含有grep的项目名字符。
如项目名或grep的字符为 item-app 脚本文件名不能叫 01-item-app.sh 会被匹配到并被杀死。改为
01-myapp.sh 或startup.sh 请自行修改下面的item-app-v1.0.1为自己项目信息
#!/bin/bash
basepath=$(cd `dirname $0`; pwd)
arr=`ps -ef | grep item-app-v1.0.1 | grep -v grep | awk '{print $2}'`
echo get pid: ${arr}
for i in ${arr[@]};do
echo kill pid ${i}...
kill -9 ${i}
done;
echo kill finished!
echo start application
nohup java -Xmx300M -Xms300M -jar -Dfile.encoding=UTF-8 -Dloader.path=${basepath}/lib,${basepath}/config ${basepath}/item-app-v1.0.1.jar.original >/dev/null 2>&1 &
echo start end...
1、自行修改 grep item-app 修改为自己jar包名字
2、自行修改 java -Xmx 后面的内存配置 和 Jar 名称 , 自行去除 -Dloader.path 看情况修改。这是将这些目录放入classpath。
3、自行修改最后一句 tail -f … 看情况是否注释。
这个脚本主要用于查找并杀死包含特定项目名(如item-app-v1.0.1)的进程,然后启动应用。需要注意的是,脚本文件名不能包含项目名字符以防止被误杀。用户需要将grep匹配的项目名和java命令中的jar包名称替换为实际的项目信息,并根据需求调整内存配置。此外,用户还可以选择是否注释掉最后的tail-f命令。

被折叠的 条评论
为什么被折叠?



