【问题标题】:How to run, monitor and stop a PHP script using SSH on a shared webserver?如何在共享网络服务器上使用 SSH 运行、监控和停止 PHP 脚本?
【发布时间】:2009-11-16 12:25:10
【问题描述】:

具有(受限)SSH 访问权限的共享网络服务器的普通成员(不是管理员)可以通过 SSH 运行、监控和停止 PHP 脚本吗?如果是这样,用户将如何完成所有三个操作?


我尝试使用命令“top”,但它只列出了实际的顶级进程,而不是 PHP 脚本。我还设法使用SO question 中提供的命令启动了一个 PHP 脚本。但是终止和监控当前正在运行的 PHP 脚本呢?

【问题讨论】:

    标签: php ssh monitoring


    【解决方案1】:

    AFAIK 你不能因为脚本在不同于你可以通过 SSH 登录的用户下运行。

    【讨论】:

    • 不能和SSH会话在同一用户下运行脚本吗?
    【解决方案2】:

    如果您像这样从控制台运行 php 脚本:

    php myscript.php
    

    那么你应该可以杀死进程:

    killall php
    

    您可能应该使用top 来查找pid,然后使用kill 代替killall

    【讨论】:

    • Quote: “我尝试使用命令“top”,但它只列出了实际的顶级进程,而不是 PHP 脚本。”据我所知,那里没有列出任何 PHP 进程。我应该尝试“top php”之类的东西吗?
    • 如果 php 不在顶部那么它没有运行或者它在列表中较低那么你可以看到。 As top 仅显示前几个过程。如果您的系统有它,您可以使用pidof php
    • 遗憾的是,并非所有系统都有它。试试ps -A | grep php
    【解决方案3】:

    Re: ps 不显示 php 进程

    请记住,许多主机都在运行网格,而 php 进程完全在不同的机器上运行。根据配置,您可能永远无法通过 shell 看到这些进程。使用 php 脚本可能会更好:)

    【讨论】:

      【解决方案4】:

      前段时间我曾经运行过这个:

      watch ps u -u your_user_name 
      

      它工作正常,我可以看到有多少 php 脚本正在运行以及时间、内存和 cpu 消耗。这非常有帮助,因为我正在做一些数据挖掘和文本分析......无论如何,我做了一些服务器升级,但对于一些它停止工作的原因,没有任何显示。

      【讨论】:

        猜你喜欢
        • 2016-11-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-04
        • 2014-02-28
        • 1970-01-01
        相关资源
        最近更新 更多