背景:
公司的些許項目是用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..."