adquery 命令返回空结果,但一段时间后它会给出预期结果。异常行为

adquery 命令返回空结果,但一段时间后它会给出预期结果。异常行为

我们的服务器基础设施包含数百台服务器。所有这些服务器都通过一个密钥服务器进行访问。我们集中管理身份验证。

因此我尝试在我们的密钥服务器中使用这个 bash 命令来列出组中的所有用户:

adquery group GROUP_NAME -a

我在以下 Python 脚本中使用了这个结果来读取输出并将其放入名为的变量中users

users = os.popen("adquery group GROUP_NAME -a").read()

我遇到的问题是,当脚本运行两三次时,它工作正常,但突然命令输出为空。当我尝试在 Linux 提示符下运行相同的命令时,它仍然失败。但过了一段时间。当我再次尝试运行它时,它就正常工作了。目前我甚至不知道这是如何发生的。但当这种情况发生时,任何有权访问该服务器的人都无法像我一样获得结果。

注意 - 更新. 还有一件事要补充。

当我尝试查询其他内容时 adquery user USERNAME -a

它们仍然有效。它给出的输出没有任何问题。但我之前提到的命令仍然失败,没有错误,没有输出。

有人可以解释一下为什么会发生这种情况吗?

答案1

这听起来像是典型的端口耗尽问题。您在较旧的操作系统上多次运行此命令,该操作系统的可用端口较少,为 1024-5000。

在 Windows 机器上运行“netstat -ano”。查找到具有多个端口的同一 IP 地址的连接,如果其中许多处于“TIME_WAIT”状态,则表明存在另一个迹象。

另外,使用任务管理器检查是否出现内存利用率过高的情况,这通常与端口耗尽同时出现。

相关内容