'supervisor'進程管理工具配置與使用

  1. 安裝

    $ sudo pip install supervisor

  2. 創建配置文件

    $ echo_supervisord_conf > /etc/supervisord.conf

    如果沒有權限,則sudo su切換到root用戶

  3. 修改配置文件內容

    $ sudo vim /etc/supervisord.conf
    把所有的/tmp/目錄修改爲我個人目錄,比如/home/jlong/supervisor/,在這之前先去創建這個目錄:mkdir /home/jlong/supervisor

  4. 寫一個腳本

    # -- coding:utf-8 --
    #!/usr/bin/python
    #file: /home/jlong/bin/test.py

    print(“This is a process”)

  5. 創建進程文件

    #文件位置:/home/jlong/supervisor/conf/test.ini
    [program:test]
    command=/usr/bin/python /home/jlong/bin/test.py
    directory=/home/jlong/bin
    user=root
    autostart=true ;在supervisord啓動的時候也自動啓動
    autorestart=true ;進程掛掉後自動重啓
    redirect_stderr=true ;重定向輸出的日誌
    stdout_logfile = /home/jlong/logs/test.log ;logs目錄需要手動創建,不然會報錯
    loglevel=info ;日誌級別,默認info,其它: debug,warn,trace

  6. 使用include

    在自己創建的目錄/home/jlong/supervisor/conf下,創建.ini文件,用來管理進程的配置文件。
    在/etc/supervisord.conf文件中,修改下列內容:
    [include]
    files = /home/jlong/supervisor/conf/*.ini

  7. 啓動supervisord

    sudo supervisord #指定默認的配置文件/etc/supervisord.conf
    sudo supervisord -c /etc/supervisord.conf #自己指定配置文件

  8. 開啓進程

    sudo supervisorctl start program_name
    或者
    sudo supervisorctl

  9. 命令介紹

    # 停止某一個進程,program_name 爲 [program:x] 裏的 x
    supervisorctl stop program_name
    # 啓動某個進程
    supervisorctl start program_name
    # 重啓某個進程
    supervisorctl restart program_name
    # 結束所有屬於名爲 groupworker 這個分組的進程 (start,restart 同理)
    supervisorctl stop groupworker:
    # 結束 groupworker:name1 這個進程 (start,restart 同理)
    supervisorctl stop groupworker:name1
    # 停止全部進程,注:start、restart、stop 都不會載入最新的配置文件
    supervisorctl stop all
    # 載入最新的配置文件,停止原有進程並按新的配置啓動、管理所有進程
    supervisorctl reload
    # 根據最新的配置文件,啓動新配置或有改動的進程,配置沒有改動的進程不會受影響而重啓
    supervisorctl update

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章