成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Supervisor 輕松搞定Linux進程管理!讓程序后臺運行穩定

系統 Linux
?Supervisor是用Python開發的一套通用的進程管理程序,能將一個普通的命令行進程變為后臺daemon,并監控進程狀態,異常退出時能自動重啟。

概述

Supervisor是用Python開發的一套通用的進程管理程序,能將一個普通的命令行進程變為后臺daemon,并監控進程狀態,異常退出時能自動重啟。

它是通過fork/exec的方式把這些被管理的進程當作supervisor的子進程來啟動,這樣只要在supervisor的配置文件中,把要管理的進程的可執行文件的路徑寫進去即可。

也實現當子進程掛掉的時候,父進程可以準確獲取子進程掛掉的信息的,可以選擇是否自己啟動和報警。supervisor還提供了一個功能,可以為supervisord或者每個子進程,設置一個非root的user,這個user就可以管理它對應的進程。

場景

  • Linux下如何讓程序后臺運行?
  • 關掉終端繼續讓程序運行的方法?
  • Linux ssh狀態下如何后臺運行程序?

優勢對比

  • 相對于nohup:nohup只是簡單地讓命令在后臺運行,即使終端關閉也能繼續。但是它缺乏自動重啟功能,也不容易監控進程狀態。而 Supervisor 可以自動重啟崩潰的進程,并且可以通過supervisorctl方便地查看狀態。
  • 相對于setsid:setsid也是用于讓進程在新的會話中運行,但它在進程管理的便捷性上不如 Supervisor。例如,Supervisor 可以集中管理多個進程,方便地同時啟動和停止多個進程,而setsid主要關注單個進程的會話分離。
  • 相對于screen:screen可以讓進程在一個虛擬終端中運行,即使退出終端也能保持運行。但是它主要側重于終端會話管理,不像 Supervisor 那樣專注于進程的自動管理和監控,如自動重啟、日志管理等功能。

安裝

Step1 更新依賴庫

apt-get update -y

Step2 安裝 supervisor

默認情況下,Supervisor 包在 Ubuntu 20.04 默認存儲庫中可用。您可以使用以下命令安裝它:

apt-get install supervisor -y

安裝 Supervisor 后,您可以使用以下命令驗證已安裝的 Supervisor 版本:

supervisord -v

接下來,使用以下命令驗證 Supervisor 服務的狀態:

sudo systemctl status supervisor
[sudo] password for www: 
● supervisor.service - Supervisor process control system for UNIX
     Loaded: loaded (/lib/systemd/system/supervisor.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2025-02-08 15:36:03 CST; 23min ago
       Docs: http://supervisord.org
   Main PID: 104478 (supervisord)
      Tasks: 2 (limit: 2315)
     Memory: 25.4M
     CGroup: /system.slice/supervisor.service
             ├─104478 /usr/bin/python3 /usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf

Step3 啟用 Supervisor Web 界面

Supervisor 提供了一個基于 Web 的界面來管理所有進程,但默認情況下它是禁用的。您可以通過編輯文件 /etc/supervisor/supervisord.conf 來啟用它。

vim /etc/supervisor/supervisord.conf

添加以下幾行:

[inet_http_server]
port=*:9001
username=admin
password=admin

保存并關閉文件,然后重新啟動 Supervisor 服務以應用更改:

systemctl restart supervisor

Step4 使用Supervisor管理 redis隊列進程

您需要為要管理的每個服務創建一個獨立的配置文件。您可以使用以下命令創建 think-redis-queue 配置文件:

sudo vim /etc/supervisor/conf.d/think-redis-queue.conf

添加以下幾行:

[program:think-redis-queue]
command=/usr/local/php-8.3.7/bin/php /home/www/website/train.tinywan.com/think redis-queue consumer
autostart=true
autorestart=true
startretries=5
numprocs=1
startsecs=0
process_name=%(program_name)s_%(process_num)02d
stderr_logfile=/var/log/supervisor/%(program_name)s_stderr.log
stderr_logfile_maxbytes=10MB
stdout_logfile=/var/log/supervisor/%(program_name)s_stdout.log
stdout_logfile_maxbytes=10MB

完成后保存并關閉文件。接下來,告訴主管了解新配置:

sudo supervisorctl reread

你應該得到以下輸出:

think-redis-queue: available

接下來,告訴 Supervisor 啟動 think-redis-queue 服務:

sudo supervisorctl update

你應該得到以下輸出:

think-redis-queue: added process group

接下來,使用以下命令驗證 Supervisor 是否啟動了 think-redis-queue服務:

sudo supervisorctl

你應該得到以下輸出:

think-redis-queue:think-redis-queue_00   RUNNING   pid 104745, uptime 0:23:52

如果要停止 think-redis-queue 服務,請運行以下命令:

supervisor> stop think-redis-queue:think-redis-queue_00 
think-redis-queue:think-redis-queue_00: stopped
supervisor> start think-redis-queue:think-redis-queue_00 
think-redis-queue:think-redis-queue_00: started
supervisor>

Step5  訪問 Supervisor Web 界面

圖片圖片

Nginx配置

server {
    listen 443 ssl http2;
    server_name supervisor.tinywan.cn;

    ssl_certificate /home/www/.acme.sh/supervisor.tinywan.cn/supervisor.tinywan.cn.cer;
    ssl_certificate_key /home/www/.acme.sh/supervisor.tinywan.cn/supervisor.tinywan.cn.key;

    location / {
        proxy_pass http://0.0.0.0:9001;
        proxy_buffering     off;
    }
}

常用命令

supervisorctl status //查看所有進程的狀態
supervisorctl stop es //停止es
supervisorctl start es //啟動es
supervisorctl restart //重啟es
supervisorctl update //配置文件修改后使用該命令加載新的配置
supervisorctl reload //重新啟動配置中的所有程序

CentOS發行版

安裝

yum install supervisor

配置文件

/etc/supervisord.conf

子配置目錄

[include]
files = supervisord.d/*.ini

編寫配置 redis-queue-order-consumer.ini

[program:redis-queue-order-consumer]
command=/usr/local/php-8.4/bin/php /home/wwwroot/order.tinywan.com/think redis-queue order-consumer
user=www
autostart=true
autorestart=true
startretries=5
numprocs=1
startsecs=0
process_name=%(program_name)s_%(process_num)02d
stderr_logfile=/var/log/supervisor/%(program_name)s_stderr.log
stderr_logfile_maxbytes=10MB
stdout_logfile=/var/log/supervisor/%(program_name)s_stdout.log
stdout_logfile_maxbytes=10MB

supservisorctl 命令

supervisorctl

查看服務

supervisor> status
redis-queue-live-consumer:redis-queue-order-consumer_00   RUNNING   pid 1692927, uptime 0:16:17

停止某個服務

stop all

停止所有服務

start all

責任編輯:武曉燕 來源: 開源技術小棧
相關推薦

2017-03-17 16:10:24

linux進程后臺

2017-03-15 19:54:05

Linux進程后臺

2024-01-26 10:56:47

go程序進程

2009-12-03 11:37:56

Suse Linux

2021-01-14 15:41:22

LinuxSupervisor命令

2009-12-11 10:47:31

Linux共享庫

2022-10-20 17:37:46

運維智能管理平臺

2009-12-11 15:37:58

Linux日志處理

2013-04-01 10:56:02

2010-07-27 14:25:02

linux文件編碼

2023-03-07 14:21:57

2010-08-30 10:16:32

2009-12-15 10:19:05

Linux應用程序

2011-04-02 10:13:36

Linux系統管理

2012-09-24 10:14:46

Linux系統管理

2022-09-29 10:51:18

ShellLinux命令審計

2009-03-18 10:40:50

DHCP工作站安全網絡運行

2009-03-10 17:15:07

Linux兼容內核Win程序

2009-02-16 15:35:00

2025-03-27 09:14:51

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产在线不卡 | 日日日操 | 日本免费一区二区三区四区 | 亚洲精品国产偷自在线观看 | 日韩精品一区二区三区中文在线 | 国产探花在线精品一区二区 | 8x国产精品视频一区二区 | 国产精品久久久久久福利一牛影视 | 最新黄色在线观看 | www视频在线观看 | 三级成人在线观看 | 中文字幕一区二区三区精彩视频 | 日日夜夜精品免费视频 | 欧美一级淫片007 | 一区二区免费在线观看 | 欧美成视频 | 日韩欧美视频免费在线观看 | av片免费 | 懂色中文一区二区三区在线视频 | 国产色片 | 亚洲成人黄色 | 国产精品污www一区二区三区 | 日本三级电影在线看 | 国产高清精品一区 | 日韩成人在线免费视频 | 91热在线| 四色永久| 日韩精品一区二区三区中文字幕 | 日韩最新网站 | 日本免费一区二区三区 | 精品久久久久久亚洲综合网站 | 亚洲网站免费看 | 国产精品国产三级国产aⅴ原创 | 一区二区三区四区国产 | 精品久久香蕉国产线看观看亚洲 | 精品视频网 | 久久99精品久久久久子伦 | 成人精品国产一区二区4080 | 91正在播放 | 亚洲色视频 | h视频网站在线观看 |