@l29ah 1. в переменную pid попадает валидный пид.
2. этот пид после срабатывания exit 1 продолжает висеть в списке процессов
мой вопрос скорее о том, гарантируется ли, что ps обязан увидеть все процессы которым были назначены pidы до этого
@hirthwork я тебе сразу написал - не надо писать такую хуйню. так делать нельзя, оно не работает, используй проверенные методы с супервайзерами, start-stop-daemon, пидами в /var и всем таким.
@hirthwork Проверю жив ли пид после определённого таймаута. Да, говно: если на твоей охуенной системе плодится по пятьдесят тыщ процессов в секунду, то ты соснёшь. Можно собрать прыщи с четырёхбайтовыми пидами, тогда будет чуть менее говно.
@l29ah костыльд по-честному проверяет, забиндился ли процесс на тот адрес, который собственно должен слушать.
ну еще SIGCHILD и какая-то магия с cgroups (я ее не знаю сам).
собственно в общем случае все равно должен быть таймаут, потомушо у софтины есть время инициализации (прогрузки библиотек и конфигов, попытки забиндится на сокет, етц) в течении которого неизвестно, выйдет она или нет.