Loading... 启停脚本: server_launch.sh 授权 ``` chmod +x manage_your_script.sh ``` ``` #!/bin/bash # 设置脚本、日志文件路径和日志目录 SCRIPT="server_launch.sh" # 主脚本的名称 LOG_DIR="./logs" # 日志目录 LOG_FILE="$LOG_DIR/output.log" # 日志文件路径 PID_FILE="$LOG_DIR/your_script.pid" # 用于存储脚本进程ID的文件 # 检查并创建日志目录 [ -d "$LOG_DIR" ] || mkdir -p "$LOG_DIR" # 启动函数 start() { if [ -f "$PID_FILE" ] && kill -0 $(cat "$PID_FILE") 2>/dev/null; then echo "脚本已在运行中,PID=$(cat $PID_FILE)" else echo "===== Start: $(date) =====" >> "$LOG_FILE" nohup sh "$SCRIPT" >> "$LOG_FILE" 2>&1 & echo $! > "$PID_FILE" echo "脚本启动成功,PID=$(cat $PID_FILE)" fi } # 停止函数 stop() { if [ -f "$PID_FILE" ] && kill -0 $(cat "$PID_FILE") 2>/dev/null; then kill $(cat "$PID_FILE") rm -f "$PID_FILE" echo "脚本已停止" echo "===== Stop: $(date) =====" >> "$LOG_FILE" else echo "脚本未在运行中" fi } # 检查状态函数 status() { if [ -f "$PID_FILE" ] && kill -0 $(cat "$PID_FILE") 2>/dev/null; then echo "脚本正在运行中,PID=$(cat $PID_FILE)" echo "详细进程信息:" ps -fp $(cat "$PID_FILE") # 显示该PID的详细信息,包括进程ID、运行命令等 else echo "脚本未在运行中" fi } # 检查用户传入的参数 case "$1" in start) start ;; stop) stop ;; restart) stop start ;; status) status ;; *) echo "用法: $0 {start|stop|restart|status}" exit 1 ;; esac ``` 最后修改:2025 年 04 月 09 日 © 允许规范转载 打赏 赞赏作者 赞 咱们谁跟谁,用不着~