博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Linux后台程序相关操作

Posted on 2023-05-18 15:47  swansfight  阅读(66)  评论(0编辑  收藏  举报

1. 如何关闭/查看后台进程

查看正在运行的程序PID:netstat -nap
查看指定运行程序的PID:ps -aux |grep 程序名称
强制杀掉进程:kill -9 进程PID


2. 程序挂后台自行运行操作

2.1 使用supervisor(方法一)

supervisor是一个进程监控器,可以用来监控和管理后台运行的程序。可以创建一个supervisor配置文件来监控程序的运行状态,并在程序崩溃后自动重启程序。

2.1.1 supervisor的常用命令

(1) supervisor启动:sudo systemctl start supervisord

(2) supervisor关闭:sudo systemctl stop supervisord

(3) 查看supervisor状态:sudo systemctl status supervisord --- 如果supervisor服务正在运行,则会显示 active (running) 状态。

(4) supervisor重启:sudo systemctl restart supervisord

(5) 重加载配置文件:sudo supervisorctl reread

2.1.2 supervisor的安装配置

步骤一:添加EPEL存储库

supervisor不包含在CentOS 7的默认存储库中,需要添加EPEL存储库。

命令:sudo yum install epel-release

步骤二:supervisor安装

安装supervisor进程监控器命令:sudo yum install supervisor

步骤三:supervisor配置

编辑命令:vim /etc/supervisord.conf

;"command"选项指定要运行的程序
;"autostart"选项将在supervisor启动时自动启动该程序
;"autorestart"选项将在程序崩溃后自动重启程序
;"user"选项指定要运行程序的用户

[program:自定义名称]
command=自定义程序路径
autostart=true		
autorestart=true	
user=用户名称(例如:root...)

步骤四:重加载配置文件

命令:sudo supervisorctl reread


2.2 使用systemd(方法二)

systemd是Linux中的一个系统和服务管理器,可以通过systemd来管理和监控后台运行的程序。可以创建一个systemd服务单元来监控程序的运行状态,并在程序崩溃后自动重启程序。

步骤一:创建.service文并配置

(1) 编辑命令:vim /etc/systemd/system/自定义名称.service

(2) 然后输入一下内容:

[Unit]
Description=自定义描述
After=network.target

[Service]
Type=simple
ExecStart=自定义程序路径
Restart=always

[Install]
WantedBy=multi-user.target

步骤二:重加载配置文件

命令:sudo systemctl daemon-reload

步骤三:服务的启动/关闭操作

命令:sudo systemctl enable 自定义名称.service

命令:sudo systemctl start 自定义名称.service