Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用paramiko并行执行bash命令_Python_Bash_Parallel Processing_Paramiko - Fatal编程技术网

Python 使用paramiko并行执行bash命令

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

我有一个python脚本,用于远程解析大量数据

python脚本将我要解析的字符串作为参数。在我当前的用例中,我正在寻找多个字符串。为了让这个过程执行得更快,我想实现并行化

所以我遵循了这个命令的逻辑:

sleep 10 & sleep 12 & wait; sleep 20 & wait;
基本上,我要做的是构造一个长命令,为我要分析的每个字符串调用我的分析脚本,然后将该命令传递给paramiko
client.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命令传递了一个超时,但它没有返回