Я порождаю оболочку fish
в качестве фонового задания и из нее я порождаю inotifywait
(процесс, который просматривает указанный файл и возвращает его только после его изменения).
Позже, однако, в неуказанный момент времени (в этот момент не гарантируется, что inotifywait
вернулся), я убиваю оболочку fish
, которая породила inotifywait
.
Моя цель - чтобы inotifywait
автоматически завершился, как только PPID, который его породил, завершится.Есть ли способ сделать это?
fish -c "inotifywait -qq $somefile && ..." &
# time passes, inotifywait hasn't returned
kill -15 (jobs -lp)
# the fish process is now terminated, but inoyifywait remains
Временный хак, который я сейчас использую, состоит в том, чтобы просто обновить время доступа просматриваемого файла (с помощью такой утилиты, как touch
), чтобыinotifywait
наконец вернется.
Я использую рыбу 3.0.1
на Linux 4.20.11
.