【问题标题】:PHP exec() pkill works, but not kill. Why?PHP exec() pkill 有效,但不能杀死。为什么?
【发布时间】:2015-06-26 14:50:00
【问题描述】:

在为网站制作 PHP 脚本来杀死进程时,这会杀死具有该名称的所有进程...

<?PHP exec ("pkill linuxjampded"); ?>

但是通过特定端口杀死它们并不会...

<?PHP exec('kill -9 $(lsof -i:29070 -t)'); ?>

为什么?在 shell 中使用 php 命令进行测试时...

php -r "echo exec('kill -9 $(lsof -i:29070 -t)');"

它通过该端口号执行并终止进程就好了。

如果有另一种方法可以通过它的端口杀死一个进程,或者使用 .sh 或 PHP 脚本,这对我有很大帮助。

【问题讨论】:

    标签: php shell


    【解决方案1】:

    我找到了原因。这是 lsof 命令。 http://www.linuxquestions.org/questions/linux-newbie-8/lsof-command-not-found-centos-906882/

    当使用它时,我能够找到真正的问题......

    $result = shell_exec("/home/cmcomp/public_html/gameserver/gsk.sh 2>&1");
    echo "<pre>$result</pre>";
    

    .sh 文件包含命令...

    kill -9 $(/usr/sbin/lsof -i:29070 -t)
    

    【讨论】:

      猜你喜欢
      • 2017-01-05
      • 2021-12-02
      • 2020-01-10
      • 2014-12-17
      • 1970-01-01
      • 1970-01-01
      • 2021-12-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多