nohup在后台常驻运行php脚本

admin 轻心小站 关注 LV.19 运营
发表于php技术学习版块 教程

nohup 是一个 POSIX 命令,用于在 Unix 或类 Unix 操作系统中运行一个命令,使其忽略所有的挂起(hangup)信号。这通常用于使程序在用户注销或终端关闭后继续运行。要使用 nohu

nohup 是一个 POSIX 命令,用于在 Unix 或类 Unix 操作系统中运行一个命令,使其忽略所有的挂起(hangup)信号。这通常用于使程序在用户注销或终端关闭后继续运行。要使用 nohup 在后台常驻运行 PHP 脚本,你可以按照以下步骤操作:

  1. 打开终端:
    打开你的命令行界面(例如:Terminal 或者 控制台)。

  2. 使用 nohup 命令:
    在命令行中输入 nohup,后面跟上你想要运行的 PHP 脚本命令。例如,如果你的脚本名为 script.php,你可以这样使用 nohup:

    nohup php script.php &

    这里的 & 符号会将命令置于后台执行。

  3. 忽略输出:
    默认情况下,nohup 命令会将输出重定向到 nohup.out 文件中。如果你不希望生成输出文件,可以使用 >/dev/null 2>&1 来丢弃输出和错误:

    nohup php script.php >/dev/null 2>&1 &
  4. 检查进程:
    使用 ps 命令或 top 命令来检查你的 PHP 脚本是否正在运行。

    ps aux | grep php

    或者

    top -b -n 1 | grep php
  5. 处理 nohup.out 文件:
    如果你的脚本产生了输出,并且你想要查看这些输出,可以使用 cat、less 或 tail 命令来查看 nohup.out 文件:

    cat nohup.out

    或者

    tail -f nohup.out
  6. 重新登录或重启后恢复运行:
    如果你注销或重启系统,nohup 命令不会自动恢复运行。你可以手动运行之前提到的 nohup 命令来重新启动脚本。

  7. 结束 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 脚本,即使在用户注销或终端关闭的情况下也能保持脚本的运行。这对于需要长时间运行的脚本特别有用,例如服务器端的定时任务或持续运行的服务。

文章说明:

本文原创发布于探乎站长论坛,未经许可,禁止转载。

题图来自Unsplash,基于CC0协议

该文观点仅代表作者本人,探乎站长论坛平台仅提供信息存储空间服务。

评论列表 评论
发布评论

评论: nohup在后台常驻运行php脚本

粉丝

0

关注

0

收藏

0

已有0次打赏