stop脚本修改
Showing
1 changed file
with
25 additions
and
10 deletions
| 1 | #!/bin/bash | 1 | #!/bin/bash |
| 2 | 2 | ||
| 3 | # 读取PID文件以获取进程ID | 3 | # 指定你的Python脚本的完整路径 |
| 4 | if [ -f fastapi.pid ]; then | 4 | SCRIPT_PATH="/topdraw/app/spider/guduo_spider/app/main.py" |
| 5 | PID=$(cat fastapi.pid) | 5 | |
| 6 | echo "停止爬虫服务 PID->: $PID" | 6 | # 查找与给定路径匹配的进程ID |
| 7 | kill -9 $PID | 7 | PIDS=$(pgrep -f "$SCRIPT_PATH") |
| 8 | # 删除PID文件 | 8 | |
| 9 | rm fastapi.pid | 9 | if [ -n "$PIDS" ]; then |
| 10 | # 遍历所有找到的PID | ||
| 11 | for PID in $PIDS; do | ||
| 12 | # 确认进程对应的命令行确实使用了指定路径下的脚本 | ||
| 13 | CMD_LINE=$(ps -p $PID -o cmd=) | ||
| 14 | if [[ "$CMD_LINE" == *"$SCRIPT_PATH"* ]]; then | ||
| 15 | echo "Killing process: $PID" | ||
| 16 | kill $PID | ||
| 17 | # 可选:检查kill命令是否成功 | ||
| 18 | if [ $? -eq 0 ]; then | ||
| 19 | echo "Process $PID has been terminated." | ||
| 20 | else | ||
| 21 | echo "Failed to terminate process $PID." | ||
| 22 | fi | ||
| 23 | else | ||
| 24 | echo "Process $PID does not match the specified script path." | ||
| 25 | fi | ||
| 26 | done | ||
| 10 | else | 27 | else |
| 11 | echo "未找到爬虫服务PID" | 28 | echo "No running processes found for script at: $SCRIPT_PATH" |
| 12 | fi | 29 | fi |
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 13 | |||
| 14 | echo "爬虫服务已停止" | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
-
Please register or sign in to post a comment