当前位置: 首页 > Linux

进程管理工具supervisor和nohup

时间:2023-04-06 22:37:11 Linux

守护进程(daemon)守护进程是一种特殊的进程,运行在后台,执行特定的系统任务。许多守护进程在系统启动时启动,并一直运行到系统关闭。其他人只在需要时开始,并在任务完成时自动结束。nohupnohup表示后台作业,nohup运行的进程将忽略终端信号运行。即在后台运行一个命令。nohupCOMMAND&用nohup运行命令可以使命令永久执行,与用户终端无关。比如我们断开SSH连接,是不会影响它的运行的。supervisorsupervisor是一套用Python开发的通用进程管理程序。它可以将一个普通的命令行进程变成后台守护进程,监控进程状态,异常退出时自动重启。之前一直使用nohup启动进程,后来接触到supervisor,感觉比较合适,于是自己安装,简单记录一下步骤:1.安装supervisor,执行如下命令yuminstallpython-setuptoolseasy_installsupervisor或者#如果easy_install不行,从官方下载开始:wgethttps://pypi.python.org/packages/80/37/964c0d53cbd328796b1aeb7abea4c0f7b0e8c7197ea9b0b9967b7d004def/supervisor-3.3.1.tar.gz#然后通过python安装:tarzxfsupervisor-3.3.1.settar.gz.pyinstall2。配置主管。创建文件夹和配置文件mkdir/etc/supervisorcho_supervisord_conf>/etc/supervisor/supervisord.confb。修改文件末尾的/etc/supervisor/supervisord.conf文件内容[include]node;files=relative/directory/*.ini改为files=conf.d/*.confc。如果supervisor已经启动,需要执行supervisorctlreload命令使配置文件生效。d.在/etc/supervisor/下创建conf.d文件夹,以及ProjectName.conf(以项目名称命名)e.打开laravel.conf文件,添加如下内容:listen--tries=3autostart=trueautorestart=trueuser=wwwnumprocs=2redirect_stderr=truestdout_logfile=/data/wwwlogs/worker.log3。运行supervisord查看是否生效。执行以下命令:#运行supervisord-c/etc/supervisor/supervisord.conf#查看进程(ps-ef|grepProjectName)ps-ef|greplaravel4。配置supervisord启动一个。在指定目录下创建文件supervisord.servicevim/usr/lib/systemd/system/supervisord.serviceb。输入以下内容:[Unit]Description=Supervisordaemon[Service]Type=forkingExecStart=/usr/bin/supervisord-c/etc/supervisor/supervisord.confExecStop=/usr/bin/supervisorctlshutdownExecReload=/usr/bin/supervisorctlreloadKillMode=processRestart=on-failureRestartSec=42s[安装]WantedBy=多用户.targetc。执行以下命令:systemctlenablesupervisordd。验证是否开机:#提示enabled表示成功systemctlis-enabledsupervisord5,常用命令servicesupervisordstart#启动服务supervisordstop#停止服务supervisordstatus#状态supervisorctlshutdown#关闭所有任务supervisorctlstop|startprogram_name#启动或停止服务supervisorctlstatus#查看所有任务状态