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

Linux でのファイル変更時にプロセスを再起動する

はい、inotify でディレクトリを監視できます inotifywait を使用するシステム または inotifywatch inotify ツールから。

inotifywait イベントを検出すると終了します。オプション -r を渡します ディレクトリを再帰的に監視します。例:inotifywait -r mydirectory .

すべてのイベントを監視する代わりに、監視するイベントを指定することもできます。ファイルまたはディレクトリのコンテンツの変更のみを待機するには、オプション -e modify を使用します .


これは、質問で提供された回答の改善です。スクリプトを中断すると、実行プロセスを強制終了する必要があります。

#!/bin/sh

sigint_handler()
{
  kill $PID
  exit
}

trap sigint_handler SIGINT

while true; do
  [email protected] &
  PID=$!
  inotifywait -e modify -e move -e create -e delete -e attrib -r `pwd`
  kill $PID
done

Linux
  1. Linux –すべてがファイルですか?

  2. Linux でプロセス名を変更する

  3. Linux でファイルの最初のバイトを変更しますか?

  1. LinuxファイルでACLを表示または変更する方法

  2. Linuxで実行中のプロセスを再起動(またはリセット)する方法は?

  3. Arch Linux でデフォルトの DNS サーバーを変更する

  1. Ubuntu – Linux –ファイル変更時間と変更時間?

  2. 5 Linux Touch コマンドの例 (ファイルのタイムスタンプを変更する方法)

  3. UNIX / Linux :プロセスのナイスネス (優先度) を変更する方法