Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.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
Unix SSH会话中断_Unix_Ssh - Fatal编程技术网

Unix SSH会话中断

Unix SSH会话中断,unix,ssh,Unix,Ssh,我有一个项目,其中主服务器在4个从属服务器上执行脚本(1个从属服务器=主服务器) 使用以下语句并行调用所有4个从机(&S): sh /data/lpc/scripts/Remote_Execution/Python0/scrap_data_param.sh Python0 $Python0_ip & sh /data/lpc/scripts/Remote_Execution/Python1/scrap_data_param.sh Python1 $Python1_ip &

我有一个项目,其中主服务器在4个从属服务器上执行脚本(1个从属服务器=主服务器)

使用以下语句并行调用所有4个从机(&S):

sh /data/lpc/scripts/Remote_Execution/Python0/scrap_data_param.sh Python0 $Python0_ip &
  sh /data/lpc/scripts/Remote_Execution/Python1/scrap_data_param.sh Python1 $Python1_ip &
  sh /data/lpc/scripts/Remote_Execution/Python2/scrap_data_param.sh Python2 $Python2_ip &
  sh /data/lpc/scripts/Remote_Execution/Python3/scrap_data_param.sh Python3 $Python3_ip
脚本*scrap\u data\u param*通过ssh连接到远程IP,并在循环中运行各种命令

我面临的问题是,即使在特定SSH会话完成之前,SSH会话也会完成并迭代下一个循环语句:

我已附上废料数据参数,供您参考:

while read line
do
c="n"
for word in $line
do
if [ "$c" = "n" ]; then
 ssh $python_server_ip -n -p 1754 sh /data/lpc/scripts/remote_scraping.sh $word_match $word
done
ssh $python_server_ip -n -p 1754 sh /data/lpc/scripts/remote_matching.sh $word_match

done <'ssss.txt'
读取行时
做
c=“n”
对于$line中的单词
做
如果[“$c”=“n”];然后
ssh$python\u server\u ip-n-p 1754 sh/data/lpc/scripts/remote\u scraping.sh$word\u match$word
完成
ssh$python_server_ip-n-p 1754 sh/data/lpc/scripts/remote_matching.sh$word_match

完成一个老生常谈的诀窍可能是在连续的命令之间留出足够的时间来执行sleep语句

比如说

while read line
do
c="n"
for word in $line
do
if [ "$c" = "n" ]; then
 ssh $python_server_ip -n -p 1754 sh /data/lpc/scripts/remote_scraping.sh $word_match $word
 sleep 10;
done
ssh $python_server_ip -n -p 1754 sh /data/lpc/scripts/remote_matching.sh $word_match
done <'ssss.txt'
读取行时
做
c=“n”
对于$line中的单词
做
如果[“$c”=“n”];然后
ssh$python\u server\u ip-n-p 1754 sh/data/lpc/scripts/remote\u scraping.sh$word\u match$word
睡眠10;
完成
ssh$python_server_ip-n-p 1754 sh/data/lpc/scripts/remote_matching.sh$word_match
完成