自动重启 ps linux
时间: 2023-07-26 17:39:03 浏览: 60
您可以使用以下命令来自动重启 ps 进程:
```
while true; do ps -ef | grep <process_name> | grep -v grep || <process_command>; sleep <interval_in_seconds>; done
```
其中, `<process_name>` 是您要监控的进程名称, `<process_command>` 是启动该进程的命令, `<interval_in_seconds>` 是每次检查进程是否存在的时间间隔。您可以根据实际情况修改这些参数。
相关问题
linux中tomcat断电自动重启
可以通过设置Tomcat的启动脚本来实现断电自动重启的功能,具体步骤如下:
1. 编辑Tomcat的启动脚本文件,通常位于Tomcat的bin目录下。例如,在Ubuntu系统上,可以使用以下命令打开脚本文件:
```bash
sudo nano /opt/tomcat/bin/startup.sh
```
2. 在脚本文件的末尾添加以下代码:
```bash
while true
do
# 检查Tomcat进程是否存在
if ps aux | grep tomcat | grep -v grep > /dev/null
then
# Tomcat进程仍在运行,等待10秒后再次检查
sleep 10
else
# Tomcat进程已经退出,启动Tomcat
echo "Tomcat is not running. Restarting..."
/opt/tomcat/bin/startup.sh
fi
done
```
这段代码会一直检查Tomcat进程是否存在,如果Tomcat进程意外退出,则会自动重启Tomcat。
3. 保存并关闭脚本文件。
以上就是在Linux中实现Tomcat断电自动重启的方法。需要注意的是,如果Tomcat进程意外退出的原因比较严重,可能需要手动排除故障。
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。最后,脚本将写入一条日志消息,指示应用程序已成功启动。在脚本中定义的变量可以根据您的实际情况进行更改。