php - 使用 > /dev/null 将不明确的数字输出到控制台
问题描述
所以我需要通过命令行(使用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
我一直在寻找解决方案,但在手头的问题上找不到任何东西。
感谢所有帮助。
解决方案
正如 danlor 所说,它是 PHP 脚本的进程 ID。在命令末尾使用 '&' 意味着 shell 应该在后台运行命令,因此 shell 会告诉您进程的 PID。您还可以使用 "> /dev/null" 和 "2> /dev/null" 来抑制到 stdout 和 stderr 的任何输出。
推荐阅读
- c++ - 如何在 C++ 中创建巨大的二维数组
- arduino - 蓝牙板不同步
- ssl - WebSphere 6.1 中的 www.google.com SSL 证书问题
- django - Django - PubSub 或工作流或组合?
- php - 如何在php中将数组存储在由array_chunk分割的表中?
- c# - 在线程循环中识别并发问题
- javascript - nodejs / javascript 组合相同的项目并设置最高/最低价格
- bash - 启动 git bash 失败
- c - 我的快速排序实现给出了错误的结果
- c# - UnityWebRequest not sending POST data