在Linux服务器上,停止 PHP 进程是常见的需求。比如,在你升级 PHP 版本之前,你可能需要先停止当前正在运行的 PHP 进程。再比如,有时你可能需要停止某个 PHP 进程,因为它正在耗尽服务器资源。无论出于何种原因,停止 PHP 进程都是一个相对容易的任务。
使用 kill 命令停止 PHP 进程
停止 PHP 进程最常见的方法是使用 kill 命令。kill 命令可以向进程发送信号,从而让进程停止运行。一般来说,我们可以向 PHP 进程发送 SIGTERM 信号,让它停止运行。下面是一个例子:
sudo kill -SIGTERM pid
其中,pid 是要停止的 PHP 进程的进程 ID。你可以使用 ps 命令查找 PHP 进程的进程 ID。比如,如果你的 PHP 进程的进程 ID 是 1234,那么你可以使用以下命令停止它:
sudo kill -SIGTERM 1234
当你向进程发送 SIGTERM 信号时,进程会接收到这个信号,并尝试优雅地退出。如果进程没有正确处理该信号,你可能需要使用 SIGKILL 信号,强制停止 PHP 进程。
使用 killall 命令停止所有 PHP 进程
如果你想要停止所有正在运行的 PHP 进程,你可以使用 killall 命令。killall 命令可以根据进程名或者进程命令行参数来停止进程。比如,如果你想要停止所有名为 php 的进程,你可以使用下面的命令:
sudo killall php
这会停止所有名为 php 的进程。
使用 pkill 命令停止匹配进程名的 PHP 进程
使用 killall 命令可以停止指定进程名的所有进程,但有时候我们需要停止匹配进程名的进程。这时候就可以使用 pkill 命令。pkill 命令可以根据进程名或者命令行参数来停止进程。比如,如果你想要停止所有匹配 php 的进程,你可以使用下面的命令:
sudo pkill -f php
其中,-f 参数表示匹配进程的整个命令行。这会停止所有包含 php 的命令行的进程,比如 /usr/bin/php、/usr/sbin/php-fpm 等等。
使用 systemd 停止 PHP 服务
如果你的 PHP 进程是以 systemd 服务的方式启动的,你可以使用 systemctl 命令来停止服务。比如,如果你的 PHP 服务名为 php-fpm.service,你可以使用下面的命令停止它:
sudo systemctl stop php-fpm.service
这会停止 PHP 服务并停止所有相关的进程。
总结
以上四种方法都可以用于停止 PHP 进程。使用 kill 命令是最常见的方法。使用 killall 命令可以停止指定进程名的所有进程。使用 pkill 命令可以停止匹配进程名的进程。如果你的 PHP 进程是以 systemd 服务的方式启动的,你可以使用 systemctl 命令来停止服务。