当前位置: 代码迷 >> AIX >> sshpass 远程执行脚本有关问题
  详细解决方案

sshpass 远程执行脚本有关问题

热度:5747   发布时间:2013-02-26 00:00:00.0
sshpass 远程执行脚本问题
用sshpass执行远程主机脚本,比如:
sshpass -p "proc" ssh proc@10.70.xxx.xxx -o StrictHostKeyChecking=no './1.sh'

如果脚本1.sh中,会后台启动一个进程,比如 tail -f 1.sh &

这个sshpass的命令就一直不会中断,看日志是脚本都执行完了的

目标主机上杀掉这个tail,sshpass才会返回,求解啊

翻过sshpass的源码,调试了下,执行到execvp( new_argv[0], new_argv );就不往下走了,一直等待调用的ssh返回

------解决方案--------------------------------------------------------
恩,那就是sshpass的父进程在wait子进程退出呢.

看看有没有选项可以不让父进程等呢.
------解决方案--------------------------------------------------------
探讨
我不是想让父进程不等,就是想知道子进程为啥不结束,有啥方法结束

------解决方案--------------------------------------------------------
expect
给个回复结束掉