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

[1] 24265

[2] 24266

cat

[root@server1 ~]#

これを行う方法を知りたいのですが、同時にエコーアウトさせません

[1] 24265
[2] 24266

ご覧のとおり、少し時間がかかる perl.pl があります。エコーの結果のみが必要です。だから私は即座に出力として "cat"だけを望み、コンソールを壊してPHPのssh2が結果を読むことができるようにします。したがって、これが必要な理由です。

4

1 に答える 1

1

プロセスがバックグラウンドで処理されたことを示すメッセージは、シェルによってstderrに書き込まれています。これをサブシェルで包み、そのstderrを捨てると、おそらく期待どおりの結果が得られます。

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

つまり、シェルを正しく呼び出すことに依存するのではなく、これを実際のファイルにスローして、PHPコードから実行することをほぼ確実に望んでいます。

于 2013-03-11T09:20:53.837 に答える