我们有一个拥有数百台服务器的服务器基础架构。 所有这些服务器都是通过密钥服务器访问的。 我们集中pipe理authentication。
所以我尝试的是我在密钥服务器中使用这个bash命令来列出组中的所有用户:
adquery group GROUP_NAME -a
我在下面的python脚本中使用了这个结果来读取输出并将其input到名为users的variables中:
users = os.popen("adquery group GROUP_NAME -a").read()
我遇到的问题是,当脚本运行两三次,它工作正常,突然间命令提供了一个空的输出。 当我尝试在Linux提示符下运行相同的命令时,它仍然失败。 但过了一段时间。 当我试图运行它的时候再次运行。 现在我甚至没有得到这种情况的模式。 但是,当发生这种情况时,任何有权访问该服务器的人都无法获得结果。
注 – 更新 。 还有一件事要补充。
当我尝试查询其他东西,如adquery user USERNAME -a
他们仍然工作。 它给出的输出没有问题。 但我之前提到的命令仍然失败,没有错误没有输出。
有人可以解释为什么会发生这种情况吗?
这听起来像经典的端口耗尽问题。 您在一个较less的1024-5000端口上运行这个命令多次。
在Windows机器上运行“netstat -ano”。 查找与多个端口相同的IP地址的连接,如果这些端口中有很多处于“TIME_WAIT”状态,则是另一个指示。
此外,使用任务pipe理器来检查高内存利用率,这通常与端口耗尽一起呈现。