Если в вашем реальном коде отсутствует закрывающая dlb-кавычка для цели grep, вы получите странные результаты с самого начала.
Кроме того, ps aux
не будет отображать полный результат командной строки, как вы показываете (по крайней мере, на всех ps
s, которые я использовал).
Вам нужно сделать это ps auxwww
.Часто вы увидите, как люди добавляют | grep -v grep |
(в какой-то момент вы поймете, почему).Это можно уменьшить, изменив цель статического поиска, например, "/ usr / bin / rsync" на "/ usr / bin / [r] sync".
Другие пользователи также помогают с их комментариями.Использование файла флага, как упоминает @DiegoSevilla, незначительно устарело.используйте mkdir /tmp/MyWatcher_flagDir
для вашего флага.Создание каталогов - это элементарное действие (в отличие от создания файлов), и это устранит любые ошибки, с которыми вы можете столкнуться, если две копии монитора будут пытаться создать файл флага одновременно.Только один процесс сможет создать или удалить флаг dir.
Надеюсь, это поможет.