我希望有人能帮我解决这个简单的问题。我想并行运行此命令
windmill chrome test=./test http://www.google.ch我正在使用xargs,并查看了互联网上的示例。但是,我无法构造xargs命令来并行执行我提到的命令。
我尝试了以下几种方法
echo "chrome test=./test http://www.google.ch" | xargs -n 1 -P 2 windmill它没有执行正确的命令,这意味着windmill一定是执行了错误的命令,因为输出不正确(指定错误参数的windmill的默认输出)。
然而,我得到了另一个问题,即终端/python抱怨"socket.error: errno48地址已在使用中“。
因此,当我并行运行风车命令时,只需打开例如两个终端,并在每个终端中运行风车命令,它就可以工作了。
如果xargs不是解决方案,那么如果你能给我指明正确的方法,我将非常感激:)
发布于 2011-12-11 17:03:16
xargs不会运行你的命令是并行的。
为什么不直接在任何与bourne兼容的shell中执行呢?
for i in 1 2; do windmill chrome test=./test http://www.google.ch & done发布于 2011-12-12 22:10:51
你提到你想并行运行一个命令。这只能在程序本身被内部并行化的情况下才能实现。
但是,您可以并行运行多个命令。假设你想并行运行这些命令:
windmill chrome test=./test http://www.google.ch
windmill chrome test=./test http://www.google.se
windmill chrome test=./test http://www.google.no
windmill chrome test=./test http://www.google.de使用GNU并行,您可以做到:
parallel windmill chrome test=./test http://www.google.{} ::: ch se no de观看介绍视频以了解更多信息:https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1并浏览教程(man parallel_tutorial)。你的命令行带着对你的爱。
如果这不是你想要的,请重新表述你的问题。
发布于 2011-12-12 16:22:00
我发现,有时一个程序在绑定到最近发布的套接字时会出现问题--出于安全原因,内核试图阻止这种情况。如果您需要能够立即重新绑定,您可能应该尝试SO_REUSEADDR,或者每次只绑定到不同的端口。
https://stackoverflow.com/questions/8462834
复制相似问题