86 lines
2.3 KiB
Bash
86 lines
2.3 KiB
Bash
#!/bin/bash
|
||
# 物流服务管理脚本
|
||
|
||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||
cd "$SCRIPT_DIR"
|
||
|
||
PID_FILE="logistics_service.pid"
|
||
LOG_FILE="logistics_service.log"
|
||
|
||
case "$1" in
|
||
start)
|
||
echo "启动物流服务..."
|
||
if [ -f "$PID_FILE" ]; then
|
||
PID=$(cat "$PID_FILE")
|
||
if ps -p $PID > /dev/null 2>&1; then
|
||
echo "⚠️ 服务已在运行,PID: $PID"
|
||
exit 1
|
||
else
|
||
rm -f "$PID_FILE"
|
||
fi
|
||
fi
|
||
./run_logistics.sh --background
|
||
;;
|
||
stop)
|
||
echo "停止物流服务..."
|
||
if [ ! -f "$PID_FILE" ]; then
|
||
echo "⚠️ PID 文件不存在,服务可能未运行"
|
||
exit 1
|
||
fi
|
||
PID=$(cat "$PID_FILE")
|
||
if ps -p $PID > /dev/null 2>&1; then
|
||
kill $PID
|
||
sleep 1
|
||
if ps -p $PID > /dev/null 2>&1; then
|
||
echo "强制停止服务..."
|
||
kill -9 $PID
|
||
fi
|
||
rm -f "$PID_FILE"
|
||
echo "✅ 服务已停止"
|
||
else
|
||
echo "⚠️ 进程不存在,清理 PID 文件"
|
||
rm -f "$PID_FILE"
|
||
fi
|
||
;;
|
||
restart)
|
||
echo "重启物流服务..."
|
||
$0 stop
|
||
sleep 2
|
||
$0 start
|
||
;;
|
||
status)
|
||
if [ -f "$PID_FILE" ]; then
|
||
PID=$(cat "$PID_FILE")
|
||
if ps -p $PID > /dev/null 2>&1; then
|
||
echo "✅ 服务正在运行"
|
||
echo "PID: $PID"
|
||
echo "进程信息:"
|
||
ps -p $PID -o pid,ppid,cmd,etime
|
||
else
|
||
echo "❌ 服务未运行(PID 文件存在但进程不存在)"
|
||
rm -f "$PID_FILE"
|
||
fi
|
||
else
|
||
echo "❌ 服务未运行"
|
||
fi
|
||
;;
|
||
logs)
|
||
if [ -f "$LOG_FILE" ]; then
|
||
tail -f "$LOG_FILE"
|
||
else
|
||
echo "日志文件不存在: $LOG_FILE"
|
||
fi
|
||
;;
|
||
*)
|
||
echo "用法: $0 {start|stop|restart|status|logs}"
|
||
echo ""
|
||
echo "命令说明:"
|
||
echo " start - 启动服务(后台运行)"
|
||
echo " stop - 停止服务"
|
||
echo " restart - 重启服务"
|
||
echo " status - 查看服务状态"
|
||
echo " logs - 查看实时日志"
|
||
exit 1
|
||
;;
|
||
esac
|