Pull to refresh

Comments 15

> Тепеь функция сотановки демона.

Это и так демон. Куда еще сотанее?
теперь вроде как стала менее сотанее!
¿А вот это что за конструкт?
echo "${process}[$$]: $*"
это выводим в лог имя процесса, в переменную process попадает первый аргумент вызова функции
если вызвать вот так
_log "parent" "File found"

то в логе будет запись вида
parent[32338]: File found

если вызвать так
_log "child" "Job with pid $$"

то в лог попадет запись вида
child[32338]: Job with pid 32338


Но, как указал oxpa, лучше использовать переменную $BASHPID и переписать данную строку на
echo "${process}[${BASHPID}]: $*"


Ну и в функции запуска Потомка заменить все $$ на ${BASHPID}
ой, я протупил.
заподозрил тут магическую конструкцию.
У самого такое часто бывает, особенно когда открываешь скрипт, который писал более года назад, и тут понимаешь что человек который это писал, был явно не ты. И все потому что надо было бастро и нет комментов, и уже все забыл что он делает. Вот и сидишь ковыряешь.
Да и камменты не всегда помогают.
У меня вот есть конфиг sendmailа пятилетней давности…
наверное еще и не sendmail.mc а именно sendmail.cf. Или как они там называются?
Я из-за этого sendmail не люблю.
Зачем в stop() ут переменная rt?
Почему бы не просто
if kill $_pid; then echo "killed"; ... fi

Честно, не старался здесь написать более красиво или т.п. т.к. здесь все таки не основной кусок скрипта, да и новичкам будет более менее понятнее.
Тогда уж и от ветвлений по возможности отказаться. Типа,
kill $_pid && echo "killed"


Визуально воспринимается гораздо приятнее. Особенно если в ветвлении всего одна команда.
не смог уловить момент создания «потомка», какой командой это выполняется?
Ну как бы команды как таковой нет, просто если знать что bash выполняет блок кода ограниченным () и также может его обрабатывать в фоне если после ) написать &, то можно сказать что конструкция ()& порождает потомка, хотя на самом деле это не так.
Если бы bash поддерживал fork в полном его понимании, то думаю много чего бы у нас было написано на bash.
Sign up to leave a comment.

Articles