python:supervisor

Supervisor - プロセス制御システム

Fedora

$ sudo dnf install supervisor

メタデータの期限切れの最終確認: 0:25:17 時間前の 2023年03月13日 06時02分01秒 に実施しました。
依存関係が解決しました。
=======================================================================================================================
 パッケージ                   アーキテクチャー         バージョン                       リポジトリー             サイズ
=======================================================================================================================
インストール:
 supervisor                   noarch                   4.2.2-5.fc37                     fedora                   734 k

トランザクションの概要
=======================================================================================================================
インストール  1 パッケージ

ダウンロードサイズの合計: 734 k
インストール後のサイズ: 4.0 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
supervisor-4.2.2-5.fc37.noarch.rpm                                                     872 kB/s | 734 kB     00:00    
-----------------------------------------------------------------------------------------------------------------------
合計                                                                                   394 kB/s | 734 kB     00:01     
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                                               1/1 
  インストール中   : supervisor-4.2.2-5.fc37.noarch                                                                1/1 
  scriptletの実行中: supervisor-4.2.2-5.fc37.noarch                                                                1/1 
  検証             : supervisor-4.2.2-5.fc37.noarch                                                                1/1 

インストール済み:
  supervisor-4.2.2-5.fc37.noarch                                                                                       

完了しました!

$ sudo systemctl enable --now supervisord

Created symlink /etc/systemd/system/multi-user.target.wants/supervisord.service → /usr/lib/systemd/system/supervisord.service.

$ systemctl status supervisord

 supervisord.service - Process Monitoring and Control Daemon
     Loaded: loaded (/usr/lib/systemd/system/supervisord.service; enabled; preset: disabled)
     Active: active (running) since Mon 2023-03-13 06:34:05 JST; 6s ago
    Process: 107602 ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf (code=exited, status=0/SUCCESS)
   Main PID: 107605 (supervisord)
      Tasks: 1 (limit: 19013)
     Memory: 23.5M
        CPU: 515ms
     CGroup: /system.slice/supervisord.service
             └─21989 /usr/bin/python3 /usr/bin/supervisord -c /etc/supervisord.conf

 3月 13 06:34:04 WICKED-BEAT systemd[1]: Starting supervisord.service - Process Monitoring and Control Daemon...
 3月 13 06:34:05 WICKED-BEAT systemd[1]: Started supervisord.service - Process Monitoring and Control Daemon.

pip

$ sudo pip install supervisor
Collecting supervisor
  Downloading https://files.pythonhosted.org/packages/a5/27/03ee384818f4fc5f678743bb20ac49c5b4fc9f531bd404dec4b61a8b5d42/supervisor-4.0.4-py2.py3-none-any.whl (296kB)
     |████████████████████████████████| 307kB 1.9MB/s
Collecting meld3>=1.0.0 (from supervisor)
  Downloading https://files.pythonhosted.org/packages/b6/ae/e6d731e4b9661642c1b20591d8054855bb5b8281cbfa18f561c2edd783f7/meld3-1.0.2-py2.py3-none-any.whl
Installing collected packages: meld3, supervisor
Successfully installed meld3-1.0.2 supervisor-4.0.4

$ sudo nano /etc/supervisord.conf

デフォルトでは UNIX ドメインソケットの設定になっているので…🤔

[unix_http_server]
file=/run/supervisor/supervisor.sock   ; (the path to the socket file)
;chmod=0700                 ; sockef file mode (default 0700)
;chown=nobody:nogroup       ; socket file uid:gid owner
;username=user              ; (default is no username (open server))
;password=123               ; (default is no password (open server))

;[inet_http_server]         ; inet (TCP) server disabled by default
;port=127.0.0.1:9001        ; (ip_address:port specifier, *:port for all iface)
;username=user              ; (default is no username (open server))
;password=123               ; (default is no password (open server))

http://localhost:9001 で使える設定に変更する🤔

;[unix_http_server]
;file=/run/supervisor/supervisor.sock   ; (the path to the socket file)
;chmod=0700                 ; sockef file mode (default 0700)
;chown=nobody:nogroup       ; socket file uid:gid owner
;username=user              ; (default is no username (open server))
;password=123               ; (default is no password (open server))
 
[inet_http_server]         ; inet (TCP) server disabled by default
port=127.0.0.1:9001        ; (ip_address:port specifier, *:port for all iface)
;username=user              ; (default is no username (open server))
;password=123               ; (default is no password (open server))

$ sudo systemctl restart supervisord
$ systemctl status supervisord

 supervisord.service - Process Monitoring and Control Daemon
     Loaded: loaded (/usr/lib/systemd/system/supervisord.service; enabled; preset: disabled)
     Active: active (running) since Wed 2023-03-15 04:46:56 JST; 7min ago
    Process: 107602 ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf (code=exited, status=0/SUCCESS)
   Main PID: 107605 (supervisord)
      Tasks: 1 (limit: 19013)
     Memory: 21.9M
        CPU: 536ms
     CGroup: /system.slice/supervisord.service
             └─107605 /usr/bin/python3 /usr/bin/supervisord -c /etc/supervisord.conf

 3月 15 04:46:55 WICKED-BEAT systemd[1]: Starting supervisord.service - Process Monitoring and Control Daemon...
 3月 15 04:46:56 WICKED-BEAT systemd[1]: Started supervisord.service - Process Monitoring and Control Daemon.

http://localhost:9001 にアクセスして動作確認😉
supervisord http server

Fedora 標準パッケージでインストールされるファイルの一覧は以下の内容です🤔

$ rpm -ql supervisor

/etc/logrotate.d/supervisor
/etc/supervisord.conf
/etc/supervisord.d
/run/supervisor
/usr/bin/echo_supervisord_conf
/usr/bin/pidproxy
/usr/bin/supervisorctl
/usr/bin/supervisord
/usr/lib/python3.11/site-packages/supervisor
/usr/lib/python3.11/site-packages/supervisor-4.2.2-py3.11.egg-info
/usr/lib/python3.11/site-packages/supervisor-4.2.2-py3.11.egg-info/PKG-INFO
/usr/lib/python3.11/site-packages/supervisor-4.2.2-py3.11.egg-info/SOURCES.txt
/usr/lib/python3.11/site-packages/supervisor-4.2.2-py3.11.egg-info/dependency_links.txt
/usr/lib/python3.11/site-packages/supervisor-4.2.2-py3.11.egg-info/entry_points.txt
/usr/lib/python3.11/site-packages/supervisor-4.2.2-py3.11.egg-info/not-zip-safe
/usr/lib/python3.11/site-packages/supervisor-4.2.2-py3.11.egg-info/requires.txt
/usr/lib/python3.11/site-packages/supervisor-4.2.2-py3.11.egg-info/top_level.txt
/usr/lib/python3.11/site-packages/supervisor/__init__.py
/usr/lib/python3.11/site-packages/supervisor/__pycache__
/usr/lib/python3.11/site-packages/supervisor/__pycache__/__init__.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/__init__.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/childutils.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/childutils.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/compat.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/compat.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/confecho.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/confecho.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/datatypes.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/datatypes.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/dispatchers.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/dispatchers.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/events.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/events.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/http.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/http.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/http_client.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/http_client.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/loggers.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/loggers.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/options.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/options.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/pidproxy.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/pidproxy.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/poller.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/poller.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/process.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/process.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/rpcinterface.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/rpcinterface.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/socket_manager.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/socket_manager.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/states.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/states.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/supervisorctl.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/supervisorctl.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/supervisord.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/supervisord.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/templating.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/templating.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/web.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/web.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/xmlrpc.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/__pycache__/xmlrpc.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/childutils.py
/usr/lib/python3.11/site-packages/supervisor/compat.py
/usr/lib/python3.11/site-packages/supervisor/confecho.py
/usr/lib/python3.11/site-packages/supervisor/datatypes.py
/usr/lib/python3.11/site-packages/supervisor/dispatchers.py
/usr/lib/python3.11/site-packages/supervisor/events.py
/usr/lib/python3.11/site-packages/supervisor/http.py
/usr/lib/python3.11/site-packages/supervisor/http_client.py
/usr/lib/python3.11/site-packages/supervisor/loggers.py
/usr/lib/python3.11/site-packages/supervisor/medusa
/usr/lib/python3.11/site-packages/supervisor/medusa/__init__.py
/usr/lib/python3.11/site-packages/supervisor/medusa/__pycache__
/usr/lib/python3.11/site-packages/supervisor/medusa/__pycache__/__init__.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/medusa/__pycache__/__init__.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/medusa/__pycache__/asynchat_25.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/medusa/__pycache__/asynchat_25.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/medusa/__pycache__/asyncore_25.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/medusa/__pycache__/asyncore_25.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/medusa/__pycache__/auth_handler.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/medusa/__pycache__/auth_handler.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/medusa/__pycache__/counter.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/medusa/__pycache__/counter.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/medusa/__pycache__/default_handler.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/medusa/__pycache__/default_handler.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/medusa/__pycache__/filesys.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/medusa/__pycache__/filesys.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/medusa/__pycache__/http_date.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/medusa/__pycache__/http_date.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/medusa/__pycache__/http_server.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/medusa/__pycache__/http_server.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/medusa/__pycache__/logger.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/medusa/__pycache__/logger.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/medusa/__pycache__/producers.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/medusa/__pycache__/producers.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/medusa/__pycache__/util.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/medusa/__pycache__/util.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/medusa/__pycache__/xmlrpc_handler.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/medusa/__pycache__/xmlrpc_handler.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/medusa/asynchat_25.py
/usr/lib/python3.11/site-packages/supervisor/medusa/asyncore_25.py
/usr/lib/python3.11/site-packages/supervisor/medusa/auth_handler.py
/usr/lib/python3.11/site-packages/supervisor/medusa/counter.py
/usr/lib/python3.11/site-packages/supervisor/medusa/default_handler.py
/usr/lib/python3.11/site-packages/supervisor/medusa/filesys.py
/usr/lib/python3.11/site-packages/supervisor/medusa/http_date.py
/usr/lib/python3.11/site-packages/supervisor/medusa/http_server.py
/usr/lib/python3.11/site-packages/supervisor/medusa/logger.py
/usr/lib/python3.11/site-packages/supervisor/medusa/producers.py
/usr/lib/python3.11/site-packages/supervisor/medusa/util.py
/usr/lib/python3.11/site-packages/supervisor/medusa/xmlrpc_handler.py
/usr/lib/python3.11/site-packages/supervisor/options.py
/usr/lib/python3.11/site-packages/supervisor/pidproxy.py
/usr/lib/python3.11/site-packages/supervisor/poller.py
/usr/lib/python3.11/site-packages/supervisor/process.py
/usr/lib/python3.11/site-packages/supervisor/rpcinterface.py
/usr/lib/python3.11/site-packages/supervisor/scripts
/usr/lib/python3.11/site-packages/supervisor/scripts/__pycache__
/usr/lib/python3.11/site-packages/supervisor/scripts/__pycache__/loop_eventgen.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/scripts/__pycache__/loop_eventgen.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/scripts/__pycache__/loop_listener.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/scripts/__pycache__/loop_listener.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/scripts/__pycache__/sample_commevent.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/scripts/__pycache__/sample_commevent.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/scripts/__pycache__/sample_eventlistener.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/scripts/__pycache__/sample_eventlistener.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/scripts/__pycache__/sample_exiting_eventlistener.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/scripts/__pycache__/sample_exiting_eventlistener.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/scripts/loop_eventgen.py
/usr/lib/python3.11/site-packages/supervisor/scripts/loop_listener.py
/usr/lib/python3.11/site-packages/supervisor/scripts/sample_commevent.py
/usr/lib/python3.11/site-packages/supervisor/scripts/sample_eventlistener.py
/usr/lib/python3.11/site-packages/supervisor/scripts/sample_exiting_eventlistener.py
/usr/lib/python3.11/site-packages/supervisor/skel
/usr/lib/python3.11/site-packages/supervisor/skel/sample.conf
/usr/lib/python3.11/site-packages/supervisor/socket_manager.py
/usr/lib/python3.11/site-packages/supervisor/states.py
/usr/lib/python3.11/site-packages/supervisor/supervisorctl.py
/usr/lib/python3.11/site-packages/supervisor/supervisord.py
/usr/lib/python3.11/site-packages/supervisor/templating.py
/usr/lib/python3.11/site-packages/supervisor/tests
/usr/lib/python3.11/site-packages/supervisor/tests/__init__.py
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/__init__.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/__init__.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/base.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/base.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_childutils.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_childutils.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_confecho.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_confecho.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_datatypes.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_datatypes.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_dispatchers.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_dispatchers.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_end_to_end.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_end_to_end.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_events.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_events.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_http.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_http.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_http_client.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_http_client.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_loggers.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_loggers.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_options.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_options.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_poller.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_poller.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_process.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_process.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_rpcinterfaces.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_rpcinterfaces.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_socket_manager.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_socket_manager.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_states.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_states.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_supervisorctl.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_supervisorctl.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_supervisord.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_supervisord.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_templating.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_templating.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_web.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_web.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_xmlrpc.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/__pycache__/test_xmlrpc.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/base.py
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/__pycache__
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/__pycache__/listener.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/__pycache__/listener.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/__pycache__/print_env.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/__pycache__/print_env.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/__pycache__/spew.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/__pycache__/spew.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/__pycache__/test_1231.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/__pycache__/test_1231.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/__pycache__/unkillable_spew.cpython-311.opt-1.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/__pycache__/unkillable_spew.cpython-311.pyc
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/donothing.conf
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/example
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/example/included.conf
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/include.conf
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/issue-1054.conf
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/issue-1170a.conf
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/issue-1170b.conf
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/issue-1170c.conf
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/issue-1224.conf
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/issue-1231a.conf
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/issue-1231b.conf
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/issue-1231c.conf
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/issue-1298.conf
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/issue-550.conf
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/issue-565.conf
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/issue-638.conf
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/issue-663.conf
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/issue-664.conf
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/issue-835.conf
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/issue-836.conf
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/listener.py
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/print_env.py
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/spew.py
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/test_1231.py
/usr/lib/python3.11/site-packages/supervisor/tests/fixtures/unkillable_spew.py
/usr/lib/python3.11/site-packages/supervisor/tests/test_childutils.py
/usr/lib/python3.11/site-packages/supervisor/tests/test_confecho.py
/usr/lib/python3.11/site-packages/supervisor/tests/test_datatypes.py
/usr/lib/python3.11/site-packages/supervisor/tests/test_dispatchers.py
/usr/lib/python3.11/site-packages/supervisor/tests/test_end_to_end.py
/usr/lib/python3.11/site-packages/supervisor/tests/test_events.py
/usr/lib/python3.11/site-packages/supervisor/tests/test_http.py
/usr/lib/python3.11/site-packages/supervisor/tests/test_http_client.py
/usr/lib/python3.11/site-packages/supervisor/tests/test_loggers.py
/usr/lib/python3.11/site-packages/supervisor/tests/test_options.py
/usr/lib/python3.11/site-packages/supervisor/tests/test_poller.py
/usr/lib/python3.11/site-packages/supervisor/tests/test_process.py
/usr/lib/python3.11/site-packages/supervisor/tests/test_rpcinterfaces.py
/usr/lib/python3.11/site-packages/supervisor/tests/test_socket_manager.py
/usr/lib/python3.11/site-packages/supervisor/tests/test_states.py
/usr/lib/python3.11/site-packages/supervisor/tests/test_supervisorctl.py
/usr/lib/python3.11/site-packages/supervisor/tests/test_supervisord.py
/usr/lib/python3.11/site-packages/supervisor/tests/test_templating.py
/usr/lib/python3.11/site-packages/supervisor/tests/test_web.py
/usr/lib/python3.11/site-packages/supervisor/tests/test_xmlrpc.py
/usr/lib/python3.11/site-packages/supervisor/ui
/usr/lib/python3.11/site-packages/supervisor/ui/images
/usr/lib/python3.11/site-packages/supervisor/ui/images/icon.png
/usr/lib/python3.11/site-packages/supervisor/ui/images/rule.gif
/usr/lib/python3.11/site-packages/supervisor/ui/images/state0.gif
/usr/lib/python3.11/site-packages/supervisor/ui/images/state1.gif
/usr/lib/python3.11/site-packages/supervisor/ui/images/state2.gif
/usr/lib/python3.11/site-packages/supervisor/ui/images/state3.gif
/usr/lib/python3.11/site-packages/supervisor/ui/images/supervisor.gif
/usr/lib/python3.11/site-packages/supervisor/ui/status.html
/usr/lib/python3.11/site-packages/supervisor/ui/stylesheets
/usr/lib/python3.11/site-packages/supervisor/ui/stylesheets/supervisor.css
/usr/lib/python3.11/site-packages/supervisor/ui/tail.html
/usr/lib/python3.11/site-packages/supervisor/version.txt
/usr/lib/python3.11/site-packages/supervisor/web.py
/usr/lib/python3.11/site-packages/supervisor/xmlrpc.py
/usr/lib/systemd/system/supervisord.service
/usr/lib/tmpfiles.d/supervisor.conf
/usr/share/doc/supervisor
/usr/share/doc/supervisor/CHANGES.rst
/usr/share/doc/supervisor/README.rst
/usr/share/licenses/supervisor
/usr/share/licenses/supervisor/COPYRIGHT.txt
/usr/share/licenses/supervisor/LICENSES.txt
/var/log/supervisor

$ cat /usr/lib/systemd/system/supervisord.service

/usr/lib/systemd/system/supervisord.service
[Unit]
Description=Process Monitoring and Control Daemon
After=rc-local.service
 
[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf
RuntimeDirectory=supervisor
RuntimeDirectoryMode=755
 
[Install]
WantedBy=multi-user.target

$ cat /etc/supervisord.conf

/etc/supervisord.conf
; Sample supervisor config file.
 
[unix_http_server]
file=/run/supervisor/supervisor.sock   ; (the path to the socket file)
;chmod=0700                 ; sockef file mode (default 0700)
;chown=nobody:nogroup       ; socket file uid:gid owner
;username=user              ; (default is no username (open server))
;password=123               ; (default is no password (open server))

;[inet_http_server]         ; inet (TCP) server disabled by default
;port=127.0.0.1:9001        ; (ip_address:port specifier, *:port for all iface)
;username=user              ; (default is no username (open server))
;password=123               ; (default is no password (open server))
 
[supervisord]
logfile=/var/log/supervisor/supervisord.log  ; (main log file;default $CWD/supervisord.log)
logfile_maxbytes=50MB       ; (max main logfile bytes b4 rotation;default 50MB)
logfile_backups=10          ; (num of main logfile rotation backups;default 10)
loglevel=info               ; (log level;default info; others: debug,warn,trace)
pidfile=/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
nodaemon=false              ; (start in foreground if true;default false)
minfds=1024                 ; (min. avail startup file descriptors;default 1024)
minprocs=200                ; (min. avail process descriptors;default 200)
;umask=022                  ; (process file creation umask;default 022)
;user=chrism                 ; (default is current user, required if root)
;identifier=supervisor       ; (supervisord identifier, default is 'supervisor')
;directory=/tmp              ; (default is not to cd during start)
;nocleanup=true              ; (don't clean up tempfiles at start;default false)
;childlogdir=/tmp            ; ('AUTO' child log dir, default $TEMP)
;environment=KEY=value       ; (key value pairs to add to environment)
;strip_ansi=false            ; (strip ansi escape codes in logs; def. false)

; the below section must remain in the config file for RPC
; (supervisorctl/web interface) to work, additional interfaces may be
; added by defining them in separate rpcinterface: sections
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
 
[supervisorctl]
serverurl=unix:///run/supervisor/supervisor.sock ; use a unix:// URL  for a unix socket
;serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket
;username=chris              ; should be same as http_username if set
;password=123                ; should be same as http_password if set
;prompt=mysupervisor         ; cmd line prompt (default "supervisor")
;history_file=~/.sc_history  ; use readline history if available

; The below sample program section shows all possible program subsection values,
; create one or more 'real' program: sections to be able to control them under
; supervisor.

;[program:theprogramname]
;command=/bin/cat              ; the program (relative uses PATH, can take args)
;process_name=%(program_name)s ; process_name expr (default %(program_name)s)
;numprocs=1                    ; number of processes copies to start (def 1)
;directory=/tmp                ; directory to cwd to before exec (def no cwd)
;umask=022                     ; umask for process (default None)
;priority=999                  ; the relative start priority (default 999)
;autostart=true                ; start at supervisord start (default: true)
;autorestart=true              ; retstart at unexpected quit (default: true)
;startsecs=10                  ; number of secs prog must stay running (def. 1)
;startretries=3                ; max # of serial start failures (default 3)
;exitcodes=0,2                 ; 'expected' exit codes for process (default 0,2)
;stopsignal=QUIT               ; signal used to kill process (default TERM)
;stopwaitsecs=10               ; max num secs to wait b4 SIGKILL (default 10)
;user=chrism                   ; setuid to this UNIX account to run the program
;redirect_stderr=true          ; redirect proc stderr to stdout (default false)
;stdout_logfile=/a/path        ; stdout log path, NONE for none; default AUTO
;stdout_logfile_maxbytes=1MB   ; max # logfile bytes b4 rotation (default 50MB)
;stdout_logfile_backups=10     ; # of stdout logfile backups (default 10)
;stdout_capture_maxbytes=1MB   ; number of bytes in 'capturemode' (default 0)
;stdout_events_enabled=false   ; emit events on stdout writes (default false)
;stderr_logfile=/a/path        ; stderr log path, NONE for none; default AUTO
;stderr_logfile_maxbytes=1MB   ; max # logfile bytes b4 rotation (default 50MB)
;stderr_logfile_backups=10     ; # of stderr logfile backups (default 10)
;stderr_capture_maxbytes=1MB   ; number of bytes in 'capturemode' (default 0)
;stderr_events_enabled=false   ; emit events on stderr writes (default false)
;environment=A=1,B=2           ; process environment additions (def no adds)
;serverurl=AUTO                ; override serverurl computation (childutils)

; The below sample eventlistener section shows all possible
; eventlistener subsection values, create one or more 'real'
; eventlistener: sections to be able to handle event notifications
; sent by supervisor.

;[eventlistener:theeventlistenername]
;command=/bin/eventlistener    ; the program (relative uses PATH, can take args)
;process_name=%(program_name)s ; process_name expr (default %(program_name)s)
;numprocs=1                    ; number of processes copies to start (def 1)
;events=EVENT                  ; event notif. types to subscribe to (req'd)
;buffer_size=10                ; event buffer queue size (default 10)
;directory=/tmp                ; directory to cwd to before exec (def no cwd)
;umask=022                     ; umask for process (default None)
;priority=-1                   ; the relative start priority (default -1)
;autostart=true                ; start at supervisord start (default: true)
;autorestart=unexpected        ; restart at unexpected quit (default: unexpected)
;startsecs=10                  ; number of secs prog must stay running (def. 1)
;startretries=3                ; max # of serial start failures (default 3)
;exitcodes=0,2                 ; 'expected' exit codes for process (default 0,2)
;stopsignal=QUIT               ; signal used to kill process (default TERM)
;stopwaitsecs=10               ; max num secs to wait b4 SIGKILL (default 10)
;user=chrism                   ; setuid to this UNIX account to run the program
;redirect_stderr=true          ; redirect proc stderr to stdout (default false)
;stdout_logfile=/a/path        ; stdout log path, NONE for none; default AUTO
;stdout_logfile_maxbytes=1MB   ; max # logfile bytes b4 rotation (default 50MB)
;stdout_logfile_backups=10     ; # of stdout logfile backups (default 10)
;stdout_events_enabled=false   ; emit events on stdout writes (default false)
;stderr_logfile=/a/path        ; stderr log path, NONE for none; default AUTO
;stderr_logfile_maxbytes=1MB   ; max # logfile bytes b4 rotation (default 50MB)
;stderr_logfile_backups        ; # of stderr logfile backups (default 10)
;stderr_events_enabled=false   ; emit events on stderr writes (default false)
;environment=A=1,B=2           ; process environment additions
;serverurl=AUTO                ; override serverurl computation (childutils)

; The below sample group section shows all possible group values,
; create one or more 'real' group: sections to create "heterogeneous"
; process groups.

;[group:thegroupname]
;programs=progname1,progname2  ; each refers to 'x' in [program:x] definitions
;priority=999                  ; the relative start priority (default 999)

; The [include] section can just contain the "files" setting.  This
; setting can list multiple files (separated by whitespace or
; newlines).  It can also contain wildcards.  The filenames are
; interpreted as relative to this file.  Included files *cannot*
; include files themselves.
 
[include]
files = supervisord.d/*.ini

☢️古い資料です (Obsolete)☢️

$ sudo pip install supervisor
sudo vi /etc/init.d/supervisord
#!/bin/bash
#
# supervisord  Startup script for the Supervisor
#
# chkconfig: - 70 60
# description: Supervisor is a client/server system that allows its users to \
#              monitor and control a number of processes on UNIX-like operating systems.
# processname: supervisord
# config:  /etc/sysconfig/supervisord
# pidfile: /var/run/supervisord/supervisord.pid
#
### BEGIN INIT INFO
# Provides: supervisord
# Short-Description: start and stop Supervisor
# Description: Supervisor is a client/server system that allows its users to
#  monitor and control a number of processes on UNIX-like operating systems.
### END INIT INFO
 
# Source function library.
. /etc/rc.d/init.d/functions
 
if [ -f /etc/sysconfig/supervisord ]; then
    . /etc/sysconfig/supervisord
fi
 
supervisord=${SUPERVISORD-/usr/bin/supervisord}
prog=supervisord
pidfile=${PIDFILE-/var/run/supervisor/supervisor.pid}
lockfile=${LOCKFILE-/var/lock/subsys/supervisord}
RETVAL=0
STOP_TIMEOUT=${STOP_TIMEOUT-3}
 
start() {
    echo -n $"Starting $prog: "
    daemon $supervisord --pidfile=${pidfile}
    RETVAL=$?
    echo
    [ $RETVAL = 0 ] && touch ${lockfile}
    return $RETVAL
}
 
stop() {
    echo -n $"Stopping $prog: "
    killproc -p ${pidfile} -d ${STOP_TIMEOUT} $supervisord -QUIT
    RETVAL=$?
    echo
    [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}
}
 
reload() {
    echo -n $"Reloading $prog: "
    killproc -p $pidfile $supervisord -HUP
    RETVAL=$?
    echo
}
 
# See how we were called.
case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    status)
        status -p ${pidfile} $supervisord
        RETVAL=$?
        ;;
    restart)
        stop
        start
        ;;
    reload)
        reload
        ;;
    *)
        echo $"Usage: $prog {start|stop|restart|reload|status}"
        RETVAL=2
esac
 
exit $RETVAL

rc スクリプトのパーミッション設定を行う。

$ sudo chmod 755 /etc/init.d/supervisord

pid、logファイルの生成ディレクトリを作成する。

$ sudo mkdir /var/run/supervisord
$ sudo mkdir /var/log/supervisord

サービスを登録する。

$ sudo chkconfig --add supervisord
$ sudo chkconfig supervisord on
$ chkconfig --list supervisord
supervisord    	0:off	1:off	2:on	3:on	4:on	5:on	6:off

設定ファイルを生成する。

$ sudo sh -c 'echo_supervisord_conf > /etc/supervisord.conf'
sudo vi /etc/supervisord.conf
[unix_http_server]
;file=/tmp/supervisor.sock  ; (the path to the socket file)
;chmod=0700                 ; socket file mode (default 0700)
;chown=nobody:nogroup       ; socket file uid:gid owner
file=/var/run/supervisord/supervisord.sock
chmod=0666
chown=nobody:nobody

[supervisord]
;logfile=/tmp/supervisord.log ; (main log file;default $CWD/supervisord.log)
logfile=/var/log/supervisord/supervisord.log
;pidfile=/tmp/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
pidfile=/var/run/supervisord/supervisord.pid

[supervisorctl]
;serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL  for a unix socket
serverurl=unix:///var/run/supervisord/supervisord.sock

;[include]
;files = relative/directory/*.ini
[include]
files = supervisor.d/*.ini

プロセス設定を格納するディレクトリを作成する。

$ sudo mkdir /etc/supervisor.d
$ sudo service supervisord start
supervisord を起動中:                                      [  OK  ]

/etc/nginx/conf.d/localhost.conf

# supervisor バックエンドの設定
upstream supervisor {
    server unix:/var/run/supervisord/supervisord.sock;
}
 
server {
    # Virtual Host の設定
    server_name localhost;
    # アクセス制限
    allow 127.0.0.1;
    deny all;
 
    # supervisor の設定
    location / {
        proxy_set_header Host $http_host;
        proxy_pass http://supervisor;
 
        allow 127.0.0.1;
        deny all;
    }
}
  • python/supervisor.txt
  • 最終更新: 2023/03/15 06:03
  • by ともやん