我有supervisord运行程序作为用户stavros,我想给予相同的用户权限,使用supervisorctl重新启动它.不幸的是,我只能用sudo来做,否则我在socket.py中得到一个权限被拒绝错误.我怎样才能允许自己重启supervisord进程? 最佳答案 就个人而言,我认为以root身份运行supervisord是一个坏主意,但如果你想这样做,同时允许其他用户完全重启,我就是这样做的.
1 /在您的系统上创建一个主管组,该组将具有supervisord的重启权限
2 /将相关用户置于组主管中
3 /在supervisord配置中,使用[unix_http_server]部分中的以下行:
chmod=0770 ; socket file mode (default 0700)
chown=root:supervisor ; socket file uid:gid owner
它将保证可以从所选用户访问管理套接字.
4 /在重构模式(init,systemd,upstart等)中添加系统初始化机制中的supervisord.这取决于您的系统. Respawn模式意味着如果崩溃或停止,该过程将自动重新启动.
5 /从所选用户之一,您应该能够使用supervisorctl来运行命令,包括完全关闭,这将触发supervisord的完全重启.