1つの端末を使用して複数の対話型タスクを停止せずに処理する方法は?

1つの端末を使用して複数の対話型タスクを停止せずに処理する方法は?

同時に動作し、便利な出力方法を提供する必要があるclient.sh2つのシェルスクリプトがあります。そして、1つの端末しか使用できません。したがって、何が起こっているのかを確認するために2つを切り替える必要がありますが、停止しないでください(+)。私は何をすべきかわかりません。私が走るときserver.shwatch
CtrlZ

./server.sh &

その後、端末に入力してくださいEnter(開始前)クライアント.sh)しかしそれを示しています

[1]+ Stopped                   ./server.sh

端末でジョブを停止せずに出力(内部状態)を表示するために切り替える便利な方法はありますか?

ベストアンサー1

使用screen:

$ screen -S my-job

これにより、「my-job」という新しいセッションが開始され、screen接続されます。

$ ./server.sh

server.shこれにより、セッションに接続された最初の(デフォルト)端末でスクリプトが開始されますscreen。次にCtrl、-を押してAからCtrl-を押しますC。これは新しい端末を作成して切り替えます。これで、以下を実行できます。

$ ./client.sh

そしてその出力を観察してみてください。前後に切り替えるには、Ctrl-を押してから-をAもう一度押します。CtrlA

screenプログラムの実行中に切断するには - を押しCtrlてからAdDエッチング。再接続して出力を再表示するには、次のようにします。

$ screen -x my-job

次の手順を実行して、追加スクリプトの出力を同時に表示することもできます。

  • Ctrl- を押し、Asへを押します。Sコメントを共有してください。
  • Ctrl- を押しAて押してTab下の区切り線に移動します。
  • Ctrl- 次に、アクティブターミナルのリストを開き、ターミナル1を選択します(ターミナル0はデフォルトでトップスプリットにリンクされます)A"

おすすめ記事