proftpd 退出状态为 0,即使启动失败

proftpd 退出状态为 0,即使启动失败

我为 proftpd(最新稳定版本,自己编译)编写了一个小型初始化脚本,并注意到即使服务器启动失败(例如,在我的情况下,由于 SSH 端口冲突),可执行文件也会以状态 0 退出。

  1. 它不应该以 > 0 退出吗?或者,
  2. 脚本如何检测启动是否成功,除了休眠任意时间并检查 PID?
# ./proftpd
# echo $? //returns 0

…但在 /var/log/messages 中:

1 月 27 日 12:20:15 staging3 proftpd[9103]: - 无法绑定到 0.0.0.0,端口 22:地址已在使用中 1 月 27 日 12:20:15 staging3 proftpd[9103]: - 检查 ServerType 指令以确保您配置正确。

谢谢-nikita

答案1

正如您所建议的,如果您不能依赖返回代码,那么您必须检查 PID(或者检查端口 22 是否正在使用,或者其他任何技巧)。

./proftpd &
echo 'the PID is ' $!

答案2

该问题已在 ProFTPD 中提出并解决;请参阅错误#3752

相关内容