使用> / dev / null将模糊数字输出到控制台

时间:2019-07-11 07:16:47

标签: php bash command-line terminal

因此,我需要通过命令行(使用exec)运行后台进程,同时还要将参数传递给已执行的 PHP 脚本。

在继续之前,我将展示我的脚本,以便更好地了解正在发生的事情:

var_dump($argv);
exit;

要获取要传递的参数很简单,所需要做的就是:

$ php -q test.php foo bar

这将按预期输出:

array(2){
    [0] => string(11) "test.php"
    [1] => string(3) "foo"
    [2] => string(3) "bar"
}

但是,为了异步运行脚本,我需要使用以下命令:

$ php -q test.php foo bar >/dev/null 2>/dev/null &

但是由于某种原因,每次我执行命令时,它都会输出一个与此类似的任意数字:

[1] 79401

我一直在寻找解决方案,但手头上找不到任何东西。

感谢所有帮助。

2 个答案:

答案 0 :(得分:2)

如danlor所说,它是PHP脚本的进程ID。 在命令末尾使用“&”表示外壳程序应在后台运行该命令,因此外壳程序会告诉您该进程的PID。 您还可以使用“> / dev / null”和“ 2> / dev / null”来抑制任何输出到stdout和stderr的内容。

答案 1 :(得分:0)

您可以将命令发送到后台,然后将输出发送到/ dev / null

/ bin / bash -c“ php -q test.php foo bar&” 2>&1> / dev / null