GNU/Linux >> Linux の 問題 >  >> Linux

Bashでwatchコマンドとjobsコマンドを一緒に使用するにはどうすればよいですか?

watch コマンドは次のように文書化されています:

SYNOPSIS
   watch  [-dhvt]  [-n  <seconds>] [--differences[=cumulative]] [--help]
          [--interval=<sec-onds>] [--no-title] [--version] <command>
[...]
NOTE
   Note that command is given to "sh -c" which means that you may need to
   use extra quoting to get the desired effect.

コマンドを sh -c に与える部分 jobs を意味します watch 経由で実行しているコマンド ジョブを生成したシェル セッションとは異なるシェル セッションで実行されているため、他のシェルは表示されません。問題は基本的に jobs はシェルに組み込まれており、表示したいジョブを生成したシェルで実行する必要があります。

最も近い方法は、ジョブを生成したシェルで while ループを使用することです:

$ while true; do jobs; sleep 10; done

シェル起動スクリプトで関数を定義して、使いやすくすることができます:

myjobwatch() { while true; do jobs; sleep 5; done; }

myjobwatch と入力するだけです。 .


ループよりも watch を使う傾向があります grep で 実行中のジョブ、例:

watch 'ps u | grep rsync'

完全ではありませんが、while ループよりはましです :)


Linux
  1. Linuxのwatchコマンドでコマンドとタスクを監視する

  2. Bash履歴コマンドの使用方法

  3. Bashでプログラミングする方法:構文とツール

  1. Linuxでエイリアスを作成してエイリアスコマンドを使用する方法

  2. .bashrcの目的とそれはどのように機能しますか?

  3. cronシェルを変更する方法(shからBash)?

  1. SFTPコマンドとオプションの使用方法

  2. システム管理者がBashの変更を拒否した場合、Bashをログインシェルとして使用するにはどうすればよいですか?

  3. LinuxでPingコマンドをインストールして使用する方法