2016-12-23 30 views
0

我想通過ssh會話運行一個命令。 該命令需要1小時以上。完成(安裝少量文件集)。 現在我的腳本能夠啓動該命令,但是,它在幾分鐘後失敗,下面的錯誤消息。無法增加超時值,與pxssh

文件 「./return.py」,第32行,在CHECKFILESTATUS s.logout() 文件「/usr/lib/python2.7/site-packages/pexpect-4.2.0-py2.7。 egg/pexpect/pxssh.py「,第350行,註銷 index = self.expect([EOF,」(?i)there stopped jobs「]) 文件」/usr/lib/python2.7/site- packages/pexpect-4.2.0-py2.7.egg/pexpect/spawnbase.py「,第321行,預計爲 timeout,searchwindowsize,async) 文件」/usr/lib/python2.7/site-packages/pexpect -4.2.0-py2.7.egg/pexpect/spawnbase.py「,第345行,在expect_list中 return exp.expect_loop(timeout) 文件」/usr/lib/python2.7/site-packages/pexpect-4.2 .0-py2.7.egg/pexpect/expect.py「,第107行,在expect_loop中 return self.timeout(e) 文件「/usr/lib/python2.7/site-packages/pexpect-4.2.0-py2.7.egg/pexpect/expect.py」,第70行,超時 raise TIMEOUT(msg) pexpect.exceptions.TIMEOUT:超時。 指令:/ bin/ssh args:['/ bin/ssh','-q','-l','xxxx','sys']緩衝區(最後100個字符):'eement acceptance。您可以在(最後100個字符)之前查看/ ITM/LAP/license目錄\ r \ n' 中的許可證文件詳細信息:'eement acceptance。您可以在/ ITM/LAP /許可證目錄\ r \ n」查看許可文件的詳細信息 後: 比賽:無 MATCH_INDEX:無 退出狀態:無 flag_eof:假 PID:4289 child_fd:5 關閉:假超時 :30 定界符: 日誌文件:無 logfile_read:無 logfile_send:無 maxread:2000 忽略大小寫:假 searchwindowsize:無 delaybeforesend:0.05 delayafterclose:0.1 delayafterterminate:0.1 searcher:searcher_re: 0:EOF 1:re.compile(「(?i)有停止作業」)。

enter code here 
#!/bin/python 
import pexpect 
import netrc 
from pexpect import pxssh,TIMEOUT 

LPAR = 'VI' 
secrets = netrc.netrc() 
ID, MC, PD = secrets.authenticators(LPAR) 
hostname = raw_input('hostname: ') 

def CHECKFILESTATUS(command): 
global hostname 
global ID 
global PD 

    try: 
     s = pxssh.pxssh() 
     hostname = hostname 
     username = ID 
     password = PD 
     s.login(hostname, username, password) 
     s.sendline(command) 
     s.prompt() 
     print s.before 
     s.logout() 
    except pxssh.ExceptionPxssh, e: 
     print("pxssh failed on login.") 
     print(e) 


def main(): 
CHECKFILESTATUS('updateios -dev /mnt/V -install -accept') 


if __name__ == '__main__': 
main() 

任何建議來解決這個超時問題?

回答

0

我覺得

s = pxssh.pxssh(timeout=7200) 

應該做的伎倆

望着來源,pxssh構造函數採用timeout作爲關鍵字參數,並設置超時(我猜秒)。

DEF 初始化(個體,超時= 30,maxread = 2000,searchwindowsize =無, 日誌文件=無,CWD =無,ENV =無,ignore_sighup =真,回聲=真, 選項= { },encoding = None,codec_errors ='strict'):

+0

嘿,它爲我工作。感謝您的快速響應。:) – user7146457

+0

沒有問題,請接受答案,如果它幫助你,所以其他人也可以受益。 – Bitonator