2013-03-11 211 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代碼,而不是依賴它正確地調用外殼。