鍍金池/ 問答/Java  Python  網(wǎng)絡(luò)安全/ supervisor 怎么重啟tornado 多進(jìn)程的tcpserver

supervisor 怎么重啟tornado 多進(jìn)程的tcpserver

lib/python3.5/site-packages/tornado/netutil.py", line 187, in bind_sockets
    sock.bind(sockaddr)
OSError: [Errno 98] Address already in use

總是報這樣錯誤,然后手動kill進(jìn)程

配置

[program:server]
directory = /data/project/
command = python server.py
autostart = true
autorestart = true
redirect_stderr = true
stdout_logfile = /data/project/log/data.log
stdout_logfile_maxbytes = 10MB
stdout_logfile_backups = 5
user=root
numprocs=1
numprocs_start=0
priority=999
autostart=true
startsecs=3
startretries=3
exitcodes=0,2
stopsignal=QUIT
stopwaitsecs=60
回答
編輯回答
朽鹿

報錯 Address already in use是不是你的進(jìn)程不是正常退出導(dǎo)致的?
lsof -i:端口 看看是哪個進(jìn)程占用的

2017年1月16日 17:41
編輯回答
短嘆

看起來不是supervisor的鍋,應(yīng)該是這個端口真的被別的進(jìn)程占用了,你試試把這個服務(wù)可能用到的端口區(qū)間寫到net.ipv4.ip_local_reserved_ports里試試
命令應(yīng)該是sysctl -w net.ipv4.ip_local_reserved_ports=1111-2222

2017年2月17日 11:25