2009-06-11 10 views
1

私はいくつかのプロセスを生成するアプリケーションを持っています。子供の出力を別の隠れ端末にリダイレクトして、親出力と混同しないようにし、必要に応じてエンドユーザが端末を再表示できるようにすることは可能ですか?いくつかのLinux端末にバインドする

ありがとうございました。

+0

あなたは子プロセスを生成されたプログラムを変更することができますか? –

答えて

1

これを行うには、子プロセスの出力を(一時的な)ファイルにリダイレクトする方法があります。そのファイルを追跡

端末は必要なときに、この端末は閉じて開くことができ

xterm -e tail -f /tmp/child1.out 

のようなコマンドを使用して開始することができます。

ファイルに出力を格納したくない場合は、fifo(mkfifo(1)を参照)を使用できますが、FIFOにはデータが格納されないため、過去の出力を見ることができません。お使いの端末から

+0

私はFIFOに出力をポンピングすると思ったのですが、誰もFIFOから読み込み中でなく、アプリケーションが数週間実行されていても、この不要な出力でOSのRAMがいっぱいにならないでしょうか? – jackhab

+0

プログラムをブロックします。 :-) – Thomas

+0

読者が空にする前にパイプに書き込むことができるプロセスの制限はありますか? – jackhab

0

、実行します。

touch proc1.log 
xterm -e tail -f proc1.log 
topuch proc2.log 
xterm -e tail -f proc2.log 
/run/proc/1.sh >> proc1.log 
/run/proc/2.sh >> proc2.log 

今あなたが

0

画面がこれを行うことができます生成されたプロセスの出力以下の2つの端子を有します。新しいプログラムでは、分離した画面を開始できます。以下のような

何か:

screen -d -m -S my-emacs-session emacs foo.c 
関連する問題