スクリプトのプロセス出力の監視

スクリプトのプロセス出力の監視

コンピュータのバックグラウンドで実行されている特定のスクリプトのコンソール出力を表示する方法はありますか?

おそらくpidなどを使用することもできます。

たとえば、このスクリプトの出力を見てください。

スクリプト.pm

while (1) {
  print "OUTPUT\n"
}

使用例

-> ps斧grep script.pm |

<- 1234? S 0:05 /var/lib/script.pm

->モニタ1234#これは偽のコマンドです

< - 出力

< - 出力

< - 出力

< - 出力

< - 出力

答え1

プロセスがバックグラウンドで実行されている場合は、次のコマンドを使用してそのプロセスを現在のシェルのフォアグラウンドに移動できます。fg注文する。その後、プロセス出力がシェルへの書き込みを開始します。

プロセスをバックグラウンドに送信するには、プロセスの一時停止を押してCTRL+Zからbgコマンドはバックグラウンドに戻ります。

使用法:
fg PID
bg PID

答え2

コンピュータのバックグラウンドで実行されている特定のスクリプトのコンソール出力を表示する方法はありますか?

今、次のファイルを介してpw(チューブメータ)

それが状況がどのように進むかです。スクリプトの出力をにリダイレクトしpwてバックグラウンドに配置します。

$ script.pm | pw &
[1] 1234

これで、スクリプトとpwその両方がバックグラウンドで実行されます。pw出力を読み込んでいます。これは、ジョブ制御シェルのバックグラウンドプロセスグループのメンバーとして実行されていることを認識しているため、端末に何も表示しようとしません。

次に、必要に応じて次の操作を行います。

$ fg

宿題をフロントデスクに持ってきてください。これで、pwスクリプト出力で更新されるインタラクティブな表示を有効にします。

視聴したくないときにCtrlZコマンドを使用して一時pw停止すると、bgコマンドはバックグラウンド実行を再開します。

関連情報