Supervisord是用Python实现的一款非常实用的进程管理工具。 supervisord会帮你把管理的应用程序转成daemon程序,而且可以方便的通过命令开启、关闭、重启等操作,而且它管理的进程一旦崩溃会自动重启,这样就可以保证程序执行中断后的情况下有自我修复的功能。 supervisord只能管理非daemon进程。
sudo easy_install supervisord
或 sudo pip install supervisord 或
sudo yum install supervisord
注意: 使用yum默认源安装的supervisord是2.x版本,此版本无法管理被监测程序派生出来的子进程,在restart被监控程序派生出的进程时会有问题。
主要配置在program:块中,其余配置(socket、log等)酌情修改即可
sudo vim /etc/supervisord.conf[program:cc_refresh_inotify] ;程序块名command=/usr/local/sbin/cc_refresh_inotify.sh ;被监测程序位置autostart=true ;被监测程序是否随supervisord同时启动autorestart=true ;是否自动重启受监测的程序stopasgroup=true ;是否重启被监测程序的所有进程(包括派生出来的子进程)log_stdout=true log_stderr=truelogfile=/data/losg/supervisor/cc_refresh_inotify.log