这个问题与Taking the input from auto-execute user login using ssh execute command有关,我尝试采用另一种方法来解决当前的问题。
由于paramiko循环永远在等待用户输入命令。我无法杀死,有pid或做任何事情继续进行。
projects/DrawingProject
采用哪种方法,我尝试使用paramiko登录其他用户(root)并终止此远程用户。
在根目录中:
stdin, stdout, stderr = self.connection.exec_command(command)
while not stdout.channel.exit_status_ready():
if stdout.channel.recv_ready():
alldata = stdout.channel.recv(1024)
rl, wl, xl = select.select([stdout.channel], [], [], 0.0)
if len(rl) > 0:
self.logger.info(stdout.channel.recv(1024), )
我尝试使用线程,但因为它无法处理。它无法执行下一个线程。
$ skill -KILL -u remoteuser
感谢。
答案 0 :(得分:0)
我最后使用fabric。
from fabric.tasks import execute
from fabric.api import run, settings, env
def remoteuser_login(self):
env.user = 'remoteuser'
env.password = 'remotepassword'
with settings(prompts={'>': 'q\n'}):
run('exit')
并执行
execute(remoteuser_login, host='ipaddress')
另外,对于hightlight,fabric还有命令超时,我们可以将其设置为在远程处理时退出。
<强> - 命令超时= N 强>
答案 1 :(得分:0)
document.getElementById("b2floor1").addEventListener("click",function loadFloor(){
var hiddenElements = [
"B3F1",
"B3F2",
"B3Title",
"B5F1",
"B5F2",
"B5F3",
"B5F4",
"B5F5",
"B5Title",
"B2F1",
"B2Title"
];
document.getElementById('viewerDiv').style.visibility = 'visible';
document.getElementById('hideMap').style.visibility = 'visible';
for(var i = 0; i < hiddenElements.length; i++){
document.getElementByID(hiddenElements[i]).style.display = 'none';
}
有一个{{1}}设置在N秒不活动后超时,相当于命令超时。
使用库提出一个不同的paramiko作为Fabric在我和其他人的经历中是非常错误的。