2013-03-11 167 views
0
[[email protected] ~]# perl file.pl & echo dog > custom-out.log & 

[1] 24265 

[2] 24266 

cat 

[[email protected] ~]# 

我想知道我怎么能做到这一点,但在同一时间没有它呼应了]命令和命令> [忽略输出]

[1] 24265 
[2] 24266 

正如你看到的我有Perl。 pl需要一点时间。我只想要回声的结果。所以我只想“猫”作为输出立即&打破控制台,所以PHP中的ssh2可以读取结果。因此我需要这个的原因。

回答

1

注意到进程是后台的消息正在被shell写入stderr。如果你把这个包装在一个子shell中并扔掉它的stderr,你可能会得到你所期望的。

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

也就是说你几乎肯定要抛出此为实际的文件并执行,从你的PHP代码,而不是依赖它正确地调用外壳。