]命令&命令> [忽略输出]

时间:2013-03-11 08:24:50

标签: linux command echo output

[root@server1 ~]# perl file.pl & echo dog > custom-out.log &

[1] 24265

[2] 24266

cat

[root@server1 ~]#

我想知道如何做到这一点,但同时又没有回应

[1] 24265
[2] 24266

如你所见,我的perl.pl需要一段时间。我只希望回声的结果。所以我只想要“猫”作为输出瞬间&打破控制台,所以php中的ssh2可以读取结果。因此我需要这个。

1 个答案:

答案 0 :(得分:1)

注意到进程被后台处理的消息是由shell写入stderr的。如果你将它包裹在子壳中并扔掉它的stderr,你可能会得到你期望的结果。

( perl file.pl & echo dog > custom-log.out & ) 2>/dev/null

那说你几乎肯定想把它放到一个实际的文件中并从你的PHP代码执行它,而不是依赖它正确地调用shell。