使用supervisor启动shadowsocks出现“Exited too quickly”错误

最经换了个速度较快的vps,重新部署了个人博客网站(虽然网站内容少的可怜)和shadowsocks程序。

还是老样子使用supervisor作为管理启动程序。启动网站一切正常。但是启动shadowsocks的时候遇到问题,总是报错“Exited too quickly”。但是shadowsocks服务却是已经正常开启了,科学上网都很正常。

supervisor配置如下

[program:shadowsocks]
command = ssserver -c /etc/shadowsocks.json -d start
user = root
autostart = true
autoresart = true
redirect_stderr = true
stdout_logfile = /var/log/supervisor/ss_stdout.log

打开log文件查看

2019-08-30 14:00:19 INFO     loading libcrypto from libcrypto.so.1.1
INFO: loading config from /etc/shadowsocks.json
2019-08-30 14:00:20 INFO     loading libcrypto from libcrypto.so.1.1
2019-08-30 14:00:20 ERROR    already started at pid 6468
INFO: loading config from /etc/shadowsocks.json
2019-08-30 14:00:22 INFO     loading libcrypto from libcrypto.so.1.1
2019-08-30 14:00:22 ERROR    already started at pid 6468
INFO: loading config from /etc/shadowsocks.json
2019-08-30 14:00:25 INFO     loading libcrypto from libcrypto.so.1.1
2019-08-30 14:00:25 ERROR    already started at pid 6468

说明supervisor已经成功启动了shadowsocks,但是接着又马上再次启动了shadowsocks,系统反馈已经启动过了,而且反复启动了3次。

再次仔细查看配置文件,发现用来启动shadowsocks的命令是带-d选项的,其作用为用后台服务来启动shadowsocks进程。

我们知道,supervisor一般用来管理前台进程,后台进程一般有自带的专有程序来管理。于是将-d选项删除,作为前台进程启动shadowsocks。于是故障消除。


CashQian Blog

欢迎来到我的个人博客网站

友情链接

Powered by Python Blog. Copyright © 2016.

www.cashqian.net. All rights reserved.