Я написал небольшой сценарий инициализации для proftpd (последняя стабильная версия, собранная мной) и заметил, что исполняемый файл завершается со статусом 0, даже если сервер не запускается (в моем случае, например, из-за конфликта порта SSH).
# ./proftpd # echo $? //returns 0
… Но в / var / log / messages:
27 января 12:20:15 staging3 proftpd [9103]: - Ошибка привязки к 0.0.0.0, порт 22: адрес уже используется 27 января 12:20:15 staging3 proftpd [9103]: - Проверьте директиву ServerType, чтобы убедиться, что вы настроен правильно.
Спасибо -никита
Эта проблема была зарегистрирована и решена в ProFTPD; видеть Ошибка # 3752.
Как вы предлагаете, если вы не можете полагаться на код возврата, вам нужно проверить PID (или проверить, используется ли порт 22, или любой другой трюк).
./proftpd &
echo 'the PID is ' $!