端口还是被占用,但 PID 变了(从 244xx 变成了 261xx)。
参考资料
端口还是被占用,但 PID 变了(从 244xx 变成了 261xx)。
端口还是被占用,但 PID 变了(从 244xx 变成了 261xx)。这说明:
你
pkill之后,有东西又自动把 octane 拉起来了;最可能的元凶是 Supervisor / 宝塔守护进程 / systemd 里已经配了一个 octane 自启服务,杀掉就被立刻重启。
1. 先确认是不是被守护进程拉起来的
# 看这些 php 进程的父进程是谁 ps -o pid,ppid,cmd -p 26103,26104,26106,26107,26108,26110,26160 # 看它们的完整启动命令 ps -fp 26103,26104,26106,26107,26108,26110,26160
重点看 PPID(父进程 ID):
如果 PPID 是
1或某个supervisord进程 → 说明是 supervisor 在守护;如果 PPID 是宝塔的某个守护脚本 → 是宝塔在拉起;
如果 PPID 是你的 shell → 那是你手动启动的残留。
同时查一下:
# 有没有 supervisor ps aux | grep -i supervisor | grep -v grep # 有没有 systemd 服务 systemctl list-units | grep -i octane systemctl list-units | grep -i fresns # 宝塔的守护进程列表 ls /www/server/panel/plugin/supervisor/ 2>/dev/null
2. 如果确认是 supervisor/守护进程拉起的
先停守护,再杀进程,否则杀了还会自动重启。
如果是 Supervisor
# 查看 supervisor 管理的进程 supervisorctl status # 停掉 octane 相关的 supervisorctl stop fresns-octane # 名字按实际显示改 # 或者停掉全部 supervisorctl stop all
如果是宝塔的 Supervisor 管理器:宝塔面板 → 软件商店 → Supervisor 管理器 → 找到对应进程 → 停止(不是只删,要先停)。
如果是 systemd
systemctl stop octane # 名字按实际改 systemctl disable octane # 禁止开机自启
3. 如果查不到守护进程,就是手动残留
直接强杀,然后立刻再查一次端口,看是否又被拉起:
# 强杀所有 octane / swoole pkill -9 -f 'octane:start' pkill -9 -f 'swoole' # 立刻查端口 ss -lntp | grep :8000
如果杀完几秒内端口又出现,100% 是被守护进程拉起的,回到第 2 步。
4. 确认干净后再启动
ss -lntp | grep :8000 # 必须无输出 cd /www/wwwroot/www.madama.cn/fresns php artisan octane:start --server=swoole --host=127.0.0.1 --port=8000 --workers=2 --task-workers=1 --max-requests=500
请先执行这两条,把结果发我
ps -o pid,ppid,cmd -p 26103,26104,26106,26107,26108,26110,26160 ps aux | grep -i supervisor | grep -v grep
看到 PPID 和有没有 supervisor,就能立刻定位是谁在反复拉起 octane。
时间:2026-10-02 11:29:49
来源:https://fresns.ciilii.com/
