Products
GG网络技术分享 2025-03-18 16:17 0
nohup 是一个 POSIX 命令,用于在 Unix 或类 Unix 操作系统中运行一个命令,使其忽略所有的挂起(hangup)信号。这通常用于使程序在用户注销或终端关闭后继续运行。要使用 nohup 在后台常驻运行 PHP 脚本,你可以按照以下步骤操作:
打开终端:
打开你的命令行界面(例如:Terminal 或者 控制台)。
使用 nohup 命令:
在命令行中输入 nohup,后面跟上你想要运行的 PHP 脚本命令。例如,如果你的脚本名为 script.php,你可以这样使用 nohup:
nohup php script.php &
这里的 & 符号会将命令置于后台执行。
忽略输出:
默认情况下,nohup 命令会将输出重定向到 nohup.out 文件中。如果你不希望生成输出文件,可以使用 >/dev/null 2>&1 来丢弃输出和错误:
nohup php script.php >/dev/null 2>&1 &
检查进程:
使用 ps 命令或 top 命令来检查你的 PHP 脚本是否正在运行。
ps aux | grep php
或者
top -b -n 1 | grep php
处理 nohup.out 文件:
如果你的脚本产生了输出,并且你想要查看这些输出,可以使用 cat、less 或 tail 命令来查看 nohup.out 文件:
cat nohup.out
或者
tail -f nohup.out
重新登录或重启后恢复运行:
如果你注销或重启系统,nohup 命令不会自动恢复运行。你可以手动运行之前提到的 nohup 命令来重新启动脚本。
结束 nohup 进程:
如果你需要结束 nohup 启动的进程,首先需要找到该进程的 PID(进程 ID),然后使用 kill 命令来结束它。可以使用 ps 命令结合 grep 来找到 PID:
ps aux | grep \'script.php\' | grep -v grep | awk \'{print $2}\'
然后,使用得到的 PID 来结束进程:
kill -9 PID
其中 PID 是你从上一步得到的进程 ID。
通过以上步骤,你可以使用 nohup 命令在后台常驻运行 PHP 脚本,即使在用户注销或终端关闭的情况下也能保持脚本的运行。这对于需要长时间运行的脚本特别有用,例如服务器端的定时任务或持续运行的服务。
Demand feedback