php检查进程是否与arg一起运行

时间:2015-08-25 21:05:48

标签: php shell

我得到了这段代码

exec("/usr/bin/php cron3.php 1", $output, $return);
if ($return == 0) {
    echo "Ok, process is running\n";
}

它会回复所有cron3.php的确定,但是我想检查arg,在这种情况下也是1

如果我输入类似

的内容
exec("/usr/bin/php cron3.php z", $output, $return);
if ($return == 0) {
    echo "Ok, process is running\n";
}

 7929 pts/1    S      0:00 /usr/bin/php cron3.php 8
 8248 pts/1    S      0:00 /usr/bin/php cron3.php 0
 8296 pts/1    S      0:00 /usr/bin/php cron3.php 1
 8432 pts/1    S      0:00 /usr/bin/php cron3.php 3

如果z在进程中没有作为arg发送,它不应该返回ok(现在它确实返回ok)

如何更改代码以使其与arg check一起使用。

感谢

1 个答案:

答案 0 :(得分:1)

通过在其他地方全局使用$argv变量或$_SERVER['argv'],您应该能够读取所有参数。参数将以数组形式提供。

请注意,数组中的第一个值是您正在执行的文件。 在您的示例中,您的$argv变量将如下所示:

$argv[0] = "cron3.php"
$argv[1] = "z"