【问题标题】:What value should Filezilla Server return when programmatically asked to reload its config?当以编程方式要求重新加载其配置时,Filezilla 服务器应返回什么值?
【发布时间】:2023-06-01 20:28:01
【问题描述】:

在一个小的 C++ 应用程序中更改其配置后,我尝试了以下方法在 FileZilla 服务器中重新加载配置:

if (system("\"\"C:\\Program Files\\FileZilla Server\\FileZilla Server.exe\" -reload-config\"") == 0)
{
    // Success
}
else
{
    // Failure
}

如果我进行了有效的更改,当我随后检查服务器本身的设置时,配置似乎被复制,但系统调用返回 1

如果我完全损坏了 .xml 配置文件,然后运行命令它仍然返回 1

那么是不是根本不可能得到一个返回值来指示配置是否被重新加载?

【问题讨论】:

标签: filezilla


【解决方案1】:

"FileZilla Server.exe" -reload-config 成功返回 0,错误返回 1。

但是“成功”只是意味着进程正确地向 FileZilla Server 服务发送了“重新加载配置”请求。它并不表示配置已正确重新加载。无法检索该信息。

【讨论】:

  • 如果是这样,如果配置似乎正确加载,为什么它似乎总是返回1
  • 即使添加了双引号?
  • 是的,即使在那之后。
  • 不知道,我总是得到 0。虽然我从像 "C:\Program Files (x86)\FileZilla Server\FileZilla Server.exe" -reload-config .. echo %ERRORLEVEL% 这样的 .bat 文件中测试它