プロセス実行ダイアログコマンドの使用方法

プロセス実行ダイアログコマンドの使用方法

私のコードを参照してください – (bashスクリプト)

画面に2つのダイアログを同時に表示したいです。

ダイアログボックスが表示されます。

tail –f from - /var/log/process1.log

2番目のダイアログボックスは次のように表示されます。

ファイルのtail –f - /var/log/process2.log

しかし、悲しい事実は、2つではなく1つのダイアログボックスしか表示できないということです。これは、最初のダイアログボックスを実行すると、2番目のダイアログボックスが最初のダイアログボックスが終了したときにのみ発生するためです。

したがって、2番目のダイアログボックスでプロセスを作成します。(…..) & , 2 つのダイアログボックスを表示するには

しかし… 。 2番目のダイアログボックスはプロセスIDを生成しますが、2番目のダイアログボックスGUIは生成しません。 (ダイアログを作成するためにプロセスを使用すると、プロセスはダイアログをstdoutに送信しないようです。)

それでは、プロセスを使用して2番目のダイアログボックスを実行しながらダイアログボックスGUIを画面に送信する方法は? 、または画面に2つのダイアログボックスを表示する別のソリューション

私のコード

     #!/bin/bash

     # this dialog will locate the tail box on the top of the screen
     dialog --begin 15 10  --tailbox   /var/log/proccess1.log  13 125 


     # this dialog will locate the tail box down in the screen
     ( dialog --begin 37 10  --tailbox   /var/log/proccess2.log    13 125 ) &

答え1

この試み:

dialog --keep-window --begin 0 0 --tailboxbg /var/log/process1.log 20 110 \
  --and-widget --keep-window --begin 0 120 --tailboxbg /var/log/process2.log 20 110 \
  --and-widget --begin 21 100 --msgbox "Press Enter to exit." 5 25

必要に応じて数字を調整します。生き残るmsgboxためにそれを使用する必要がありますdialog

答え2

この問題に対処するのは今回が初めてですdialog。マニュアルページを読んで、これがあなたが求めているものだと思います。

#!/bin/bash

# this dialog will locate the tail box on the top of the screen
dialog --keep-window --begin 15 10  --tailboxbg  /var/log/syslog 13 125 \
       --and-widget  --begin 37 10  --tailbox    /var/log/dmesg  13 125

答え3

screen会議でこれをするのはどうですか?各ブーツが内部にある2つの別々の窓...

私は検討しています(これは.screenrc設定ファイルです):

startup_message off
screen dialog --begin 10 10  --tailbox   /var/log/proccess1.log  13 125
split
focus down
screen dialog --begin 10 10  --tailbox   /var/log/proccess2.log  13 125

実行するには、次を使用します。screen -c screenrcfile

HTH、乾杯

関連情報