北菩_京犹P_k191 0全天单期计划 哪儿有psid的?京P是哪个区好玩

在Linux服务器中经常会以php-cli方式运行┅些后台服务,例如swoole, workmanWebSocket框架的服务当这些服务出现了异常要结束或重启时,很多人可能会找不到当时的运行物理路径或物理路径已经不存在了(例如是进入了部署目录里启动的但因为发布了新版本,所以原来的部署目录文件夹被覆盖或清理已经不存在了),这样就无法通过常规的方式去停止服务只能先找到进程id,然后用kill -9 进程id的方式来结束

很多人会首先想到通过使用的端口来查找进程id,常用的命令洳:netstat -tunpl | grep 端口号lsof -i :端口号这样确实能找到当前占用端口的进程ID,但当执行kill -9 端口号时发现会提示进程id不存在再执行netstat -tunpl | grep 端口号命令会发现,显示絀来的端口号确实与上次的不一样了这是为什么呢?

原来我们所看到的子进程是由主进程(master,亦称为守护进程)维护的所以要达到停止进程的目的,要找到主进程的id再执行kill命令,就能彻底结束掉这个服务了具体怎么做呢?

可以使用查找进程的命令:ps -aux | grep php系统会列出當前所有的php进程,如下图所示:
其中有一列会详细列出进程类型(master)及cli进程的启动文件这个非常有用,能快速地根据启动目录和文件名找到我们想找的服务然后调用 kill -9 进程id,就能将服务彻底结束掉了

}

我要回帖

更多关于 京P99999 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信