如何找出调用php bash脚本的进程或脚本

时间:2014-10-16 19:52:06

标签: php bash

我有php bash脚本做一些数据库处理。我需要知道的是这个脚本的调用者。我不知道它是进程还是其他脚本。那么有没有办法知道调用者的进程ID或脚本名称?


脚本由某个进程运行,其代码以解释器路径“#!/ usr / bin / php”开头。此文件仅作为bash脚本调用。

操作系统:Centos 6.5

1 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情

<?php

Check for a current process by filename

function processExists($file = false) {

    $exists     = false;
    $file       = $file ? $file : __FILE__;

    // Check if file is in process list
    exec("ps -C $file -o pid=", $pids);
    if (count($pids) > 1) {
        $exists = true;
    }
    return $exists;
}

?>

这将检查您尝试跟踪的文件名。如果您需要进程ID,只需调整exec中的内容或返回$ pids即可。

试试这个---

$mystring = "script_running";
exec("ps aux | grep \"${mystring}\" | grep -v grep | awk '{ print $2 }' | head -1", $out);
print "The PID is: " . $out[0];

ps aux更能描述正在运行的内容。