Python 使用paramiko并行执行bash命令
我有一个python脚本,用于远程解析大量数据 python脚本将我要解析的字符串作为参数。在我当前的用例中,我正在寻找多个字符串。为了让这个过程执行得更快,我想实现并行化 所以我遵循了这个命令的逻辑:Python 使用paramiko并行执行bash命令,python,bash,parallel-processing,paramiko,Python,Bash,Parallel Processing,Paramiko,我有一个python脚本,用于远程解析大量数据 python脚本将我要解析的字符串作为参数。在我当前的用例中,我正在寻找多个字符串。为了让这个过程执行得更快,我想实现并行化 所以我遵循了这个命令的逻辑: sleep 10 & sleep 12 & wait; sleep 20 & wait; 基本上,我要做的是构造一个长命令,为我要分析的每个字符串调用我的分析脚本,然后将该命令传递给paramikoclient.exec_command(cmd) 示例命令如下所示: p
sleep 10 & sleep 12 & wait; sleep 20 & wait;
基本上,我要做的是构造一个长命令,为我要分析的每个字符串调用我的分析脚本,然后将该命令传递给paramikoclient.exec_command(cmd)
示例命令如下所示:
python parseString.py *.txt -v Hello & parseString.py *.txt -v World & parseString.py *.txt -v Foo & parseString.py *.txt -v Bar & wait; python parseString.py *.txt -v Test & parseString.py *.txt -v Something & parseString.py *.txt -v Thing & parseString.py *.txt -v No & wait; parseString.py *.txt -v Yes & wait;
如你所见,我最多发送4个电话,以避免占用机器。脚本也在相同的文件上运行(不确定这是否是一个问题)。当我选中htop
时,纸条显示为S
,所以睡觉。我不确定是什么问题
我收集paramiko标准输出的最终输出文件达到59MB,进程挂起。可能是大小限制了脚本的完成吗
我不想创建多个ssh会话来执行我的脚本。您能告诉我们机器上执行这些命令的远程命令的状态吗?您是否可以尝试将超时传递给
客户端.exec_command
并查看它是否最终返回?这些命令执行约4秒,并且它们在htop
上的状态变为S
(S-可中断睡眠(等待事件完成))。我向client.exec\u命令传递了一个超时,但它没有返回