重启jar包脚本代码
时间: 2023-02-15 07:49:43 浏览: 51
:
#!/bin/bash
#重启jar包
#获取jar包名称
jar_name=`ls | grep jar`
#获取进程pid
pid=`ps -ef | grep $jar_name | grep -v grep | awk '{print $2}'`
#杀掉进程
kill -9 $pid
#启动jar包
nohup java -jar $jar_name &
echo "重启完成"
这是一个重启jar包的脚本代码。它的功能是:通过查找jar包的名称,获取该jar包运行的进程pid,然后杀掉该进程,最后再启动该jar包。
相关问题
linux 自动重启jar包脚本
以下是一个简单的Linux自动重启jar包脚本:
```
#!/bin/bash
# 定义变量
APP_NAME="myapp.jar"
LOG_FILE="/var/log/myapp.log"
# 检查进程是否存在
PID=$(ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}')
if [ -z "$PID" ]
then
echo "$APP_NAME is not running, starting it..." >> $LOG_FILE
# 启动应用
nohup java -jar $APP_NAME >> $LOG_FILE 2>&1 &
else
echo "$APP_NAME is running with PID $PID, stopping it..." >> $LOG_FILE
# 停止应用
kill $PID
# 等待一会儿
sleep 5
# 再次检查进程是否存在
PID=$(ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}')
if [ -z "$PID" ]
then
echo "$APP_NAME stopped, starting it..." >> $LOG_FILE
# 启动应用
nohup java -jar $APP_NAME >> $LOG_FILE 2>&1 &
else
echo "$APP_NAME could not be stopped, exiting..." >> $LOG_FILE
exit 1
fi
fi
echo "$APP_NAME started successfully" >> $LOG_FILE
exit 0
```
该脚本首先检查是否存在正在运行的进程,如果没有,则启动应用程序。如果已经有一个进程在运行,则停止它并等待一段时间,然后再次检查进程是否存在。如果无法停止进程,则脚本将退出并返回错误代码1。最后,脚本将写入一条日志消息,指示应用程序已成功启动。在脚本中定义的变量可以根据您的实际情况进行更改。
Python脚本编写jar包重启脚本
我可以回答这个问题。Python脚本可以使用subprocess模块来启动Java程序,具体可以参考以下代码:
import subprocess
jar_path = "/path/to/your/jar/file.jar"
java_cmd = ["java", "-jar", jar_path]
subprocess.Popen(java_cmd)
这个代码会启动一个新的Java进程,并运行指定的jar包。如果需要重启这个Java进程,可以使用subprocess.Popen对象的kill()方法来杀死进程,然后再重新启动。