我编写了一个小型 C 程序(实际上更像是一个脚本),它从机器收集一些常规系统信息并将其打印出来(CPU、RAM、系统温度等)。我正在尝试收集大量计算机的此信息,因此我使用 dsh 来执行此操作。这一切都工作正常,并且通过 dsh 运行程序将所需的输出打印到屏幕上。
但是,我想使用 dsh 将所有计算机的输出编译到单个文件中。我认为简单地使用“program >> output”作为 dsh 命令就可以了,但由于 dsh 并行运行,输出就会出现乱码。
有没有办法运行 dsh 以便节点不并行运行,而是等待完全完成后再继续?或者,是否有更好的方法将这些信息完全输出到文件中?
最佳答案
我最终只是将扫描的每台机器写入一个名为 hostname.info 的文件,然后使用 cat 和 bash 脚本将它们全部组合起来。不优雅但有效。
关于使用 DSH 将输出编译到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30129309/