[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可以读取结果。因此我需要这个。
答案 0 :(得分:1)
注意到进程被后台处理的消息是由shell写入stderr的。如果你将它包裹在子壳中并扔掉它的stderr,你可能会得到你期望的结果。
( perl file.pl & echo dog > custom-log.out & ) 2>/dev/null
那说你几乎肯定想把它放到一个实际的文件中并从你的PHP代码执行它,而不是依赖它正确地调用shell。