Linux监听某个进程,自动重启


前言

在 Linux 下监听某个进程,当进程异常退出后自动重启,可以使用bash脚本编写监控程序,也可以使用系统工具如 systemd 或 supervisor。


一、使用 bash 脚本编写监控程序

  1. 使用 bash 脚本编写监控程序创建一个 check_process.sh 文件,内容如下:
#!/bin/bash
while true
do
    #尝试获取进程的 PID,这里通过进程的名字来获取,如 nginx
    PID=`ps -ef |grep -v grep | grep nginx |awk '{print $2}'`
    #判断进程的 PID 是否为空,为空则未找到此进程,需要启动
    if [ ! "$PID" ]; then
        echo "进程不存在,正在启动..."
        #这里可以可以修改成你的启动应用命令
        /usr/sbin/nginx
        echo "进程启动成功!"
    fi
    #每隔一分钟检测一次进程是否存在
    sleep 60
done

授权文件可执行:

chmod 777 check_process.sh

运行此 check_process.sh 脚本,并将其设置为后台运行:

nohup check_process.sh &

二、使用 systemd

2.在 /lib/systemd/system/ 下创建名为 myprocess.service 的文件。更改以下示例,根据您的需求进行调整:

[Unit]
Description=My Custom Service
After=network.target

[Service]
ExecStart=/usr/bin/myprocess
Restart=always
User=root
Group=root
Environment=PATH=/usr/bin:/usr/local/bin
Environment=NODE_ENV=production
WorkingDirectory=/home/myuser

[Install]
WantedBy=multi-user.target

使用以下命令启用并启动服务:

sudo systemctl enable myprocess.service
sudo systemctl start myprocess.service

总结

注意: 以上两种方式都需要根据你的环境进行适当调整,比如进程名、启动命令位置等。

相关推荐

  1. Linux监听某个进程自动

    2024-05-11 20:28:06       32 阅读
  2. 监控服务进程自动 monitor

    2024-05-11 20:28:06       31 阅读
  3. Linux登录/自动执行

    2024-05-11 20:28:06       64 阅读
  4. linux设置Nginx自动

    2024-05-11 20:28:06       24 阅读
  5. 进程交互实现App自动

    2024-05-11 20:28:06       44 阅读
  6. Linux系统下tomcat服务自动

    2024-05-11 20:28:06       34 阅读
  7. Linux-----4、关机|

    2024-05-11 20:28:06       75 阅读
  8. linux phpstudy 命令

    2024-05-11 20:28:06       36 阅读
  9. Linux之关机

    2024-05-11 20:28:06       26 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-11 20:28:06       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-11 20:28:06       106 阅读
  3. 在Django里面运行非项目文件

    2024-05-11 20:28:06       87 阅读
  4. Python语言-面向对象

    2024-05-11 20:28:06       96 阅读

热门阅读

  1. 数据字典是什么?

    2024-05-11 20:28:06       35 阅读
  2. 【前端每日基础】day2 const var let的区别

    2024-05-11 20:28:06       36 阅读
  3. MySQL学习笔记12——效率和优化

    2024-05-11 20:28:06       150 阅读
  4. Unity 委托与事件、装箱和拆箱

    2024-05-11 20:28:06       32 阅读
  5. React 学习-5

    2024-05-11 20:28:06       35 阅读
  6. 6.5.Docker数据管理和端口映射应用

    2024-05-11 20:28:06       24 阅读
  7. 算法练习17——罗马数字转整数

    2024-05-11 20:28:06       29 阅读
  8. debian apt 更改阿里源

    2024-05-11 20:28:06       23 阅读
  9. android原生开发学习路线

    2024-05-11 20:28:06       30 阅读
  10. 算法详解——穷举法

    2024-05-11 20:28:06       26 阅读