C 使用DSH将输出编译为文件

C 使用DSH将输出编译为文件,c,output,system,nodes,monitoring,C,Output,System,Nodes,Monitoring,我编写了一个小的C程序(更像是一个脚本),它从机器上收集一些一般的系统信息并打印出来(cpu、ram、系统温度等)。我试图为一大组机器收集这些信息,所以我使用dsh来完成。这一切都很好,通过dsh运行程序会将所需的输出打印到屏幕上 但是,我想将所有使用dsh的机器的输出编译成一个文件。我认为简单地使用“program>>output”作为dsh的命令就可以了,但是由于dsh是并行运行的,所以输出就会变得混乱 有没有一种方法可以运行dsh,这样节点就不会在parralel中运行,而是在继续之前等待

我编写了一个小的C程序(更像是一个脚本),它从机器上收集一些一般的系统信息并打印出来(cpu、ram、系统温度等)。我试图为一大组机器收集这些信息,所以我使用dsh来完成。这一切都很好,通过dsh运行程序会将所需的输出打印到屏幕上

但是,我想将所有使用dsh的机器的输出编译成一个文件。我认为简单地使用“program>>output”作为dsh的命令就可以了,但是由于dsh是并行运行的,所以输出就会变得混乱


有没有一种方法可以运行dsh,这样节点就不会在parralel中运行,而是在继续之前等待完全完成?或者,有没有更好的方法将这些信息完全输出到文件中

最后,我只为扫描的每台机器写入一个名为hostname.info的文件,然后使用cat和bash脚本将它们组合起来。不优雅,但它的工作

您可以使用PDSH而不是dsh:@REACHUS。很遗憾,我在相关计算机/服务器上没有足够的权限安装PDSH。