0

私はUbuntuを使用しています。2 つの bash スクリプト ファイルがあります。両方が並行して実行されます。今、別のファイルが実行されているかどうかを継続的に監視したいと考えています。

ファイルが現在実行中であるかどうかを確認する方法はありますか?

4

1 に答える 1

1

多くの可能性、それは創造性の問題です...

いくつかの提案:

  • プロセス リストを定期的にポーリングし、名前またはプロセス ID でフィルタリングする
  • ソケットが開いている限り、制御ソケットを使用してスクリプトを開始します。スクリプトは実行されます
  • ファイルシステムで通常のロック戦略を使用します。
  • スクリプトに定期的にライフビートを実行させてから、そのライフビートを監視します。
  • 一連のコマンドでスクリプトを開始すると、スクリプトが存在する瞬間に次のコマンドが呼び出し元のシェルによって実行されます。それは通知スクリプトか何かである可能性があります。
  • スクリプトをデスクトップ上で小刻みに動かすようにして、自分で見てください。
  • を使用して起動しnohup、ログ ファイルを監視します。
  • スクリプト内にデーモンを実装し、定期的に接続します。
  • fuserスクリプト内からファイルを開き、システム コールを使用してファイル システムを監視します。
  • 監視スクリプトによって定期的にトークンをファイルに書き込み、監視対象スクリプトにバトンのようにそのトークンを削除させます。
  • ブロッキング呼び出しを使用してスクリプトを呼び出します。スクリプトは、そのブロッキング呼び出しが返されない限り実行されます。
  • プロセスレベルでシングルトン戦略を作成し、定期的に開始してみてください。
  • 監視スクリプトを、実行中のスクリプトが接続する監視デーモンとして機能させる。接続が終了した場合、scipt は明らかに実行を停止しています。
  • ...

申し訳ありませんが、これは退屈になり始めています...

于 2012-12-01T09:51:30.590 に答える