2013-12-19 45 views
0

我有一个可执行文件test_run
我不想从控制台运行它并获取输出。如何从Linux上的4个并行进程获得结果

对于单次运行,我用./test_run | grep '[0-9]*'
但对于4个并行运行此方案不工作

./test_run | grep '[0-9]*' & ./test_run | grep '[0-9]*' & ./test_run | grep '[0-9]*' &./test_run | grep '[0-9]*' 

我从1到4个结果时有发生。但是我需要得到稳定的4次结果。

任何想法如何从4个并行进程获得输出? 顺便说一句我没有资料。

+0

实际上,如果您的服务器上有多个内核,则Parallel只能显示图片。正如你的情况,你想同时触发你的二进制文件的4个实例,我会建议你使用4个相同的crontab条目并将输出转移到一个特定的文件,希望能够满足你所尝试的。 –

+1

缺少的结果可能是您用来运行cmd的“终端”会话中的虚假结果。要确认丢弃的项目,请尝试将上面的行转换为脚本,然后将脚本输出重定向到文件。即'./myWrapperScript.sh> /tmp/wrapperScript.out 2>&1'。祝你好运。 – shellter

+0

@shellter感谢它的工作!) – Arseniy

回答

0

我建议使用PDSH

这是一个非常强大的和有用的工具

0

缺少的结果可能与您正在使用运行CMD“终端”会话的盲。要确认丢弃的项目,请尝试将上面的行转换为脚本,然后将脚本输出重定向到文件。即./myWrapperScript.sh > /tmp/wrapperScript.out 2>&1。祝你好运。 - shellter

相关问题