stop脚本修改
Showing
1 changed file
with
26 additions
and
11 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文件 | ||
9 | rm fastapi.pid | ||
10 | else | ||
11 | echo "未找到爬虫服务PID" | ||
12 | fi | ||
13 | 8 | ||
14 | echo "爬虫服务已停止" | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
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 | ||
27 | else | ||
28 | echo "No running processes found for script at: $SCRIPT_PATH" | ||
29 | fi | ||
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
-
Please register or sign in to post a comment