inotifywait
Bir dizini izlemek ve değişiklikler algılandığında eylemleri başlatmak için kullanmak bir bash komut dosyası yazıyorum . Gibi bir şey:
inotifywait -m ... | while read f; do something; done
Yana inotifywait
kendisi tarafından sonlandırmak değil, bu yazı durmayacaktır.
Bu yüzden planım inotifywait işleminin PID'sini almak, bir dosyaya kaydetmek ve daha sonra farklı bir işlemin daha sonra öldürmesini sağlamaktı:
inotifywait -m ... | { echo ??PID?? > pid-file; while ... }
Ama PID'yi nasıl alacağımı bilmiyorum. Bunu başarmanın basit bir yolu var mı? Başka bir yol sadece kabuk komut dosyasının PID $$
dosyasını dosyaya kaydetmek ve tüm kabuk komut dosyasını öldürmek ama while döngüsünden sonra bazı temizlik yapmak istedim.
Kullanmayı denedim coproc
ve işe yarayacağını düşünüyorum ama gerekenden daha fazla komplikasyon gibi görünüyor.
pgrep inotifywait
. Bu sana PID verecek, öldürecek pkill inotifwait
.
grep -v grep
, bunun yerine ps -ef | grep [p]rocessname...
aynı şeyi yaparsınız.
-f
gerekiyorsa anahtarı kullanabilirsiniz .