背景:
公司的些许项目是用Django开发,纳入supervisor管理后,总是restart失败,提示:端口占用。
找了Google和SO大部分是让我们kill老PID,并不能像Tornado引用singal去kill。
所以老老实实写脚本解决之。
脚本:
[root@iZ9458z0ss9Z log]# cat /data/script/supervisor_restart_apptoken.sh
#! /bin/bash
echo "start..."
echo "stop app_token" | supervisorctl
lsof -i:10086 | awk '{if (NR>1){print $2}}' | xargs kill -9
echo "start app_token" | supervisorctl
echo "end..."