2011-08-13 118 views
4

我正在寫一個腳本使用python pexpect在遠程機器上執行另一個腳本。它在正常情況下工作正常,但如果在遠程腳本中有time.sleep,則會失敗。pexpect的任何替代品?

我想要到達遠程機器,在後臺啓動腳本並退出。這可能嗎 ?

有人可以提出替代方案或讓我知道如何解決這個問題?

+1

你有沒有嘗試過手動對Pexpect的命令設置超時? –

+0

不,我會試試看,只是一分鐘! – sethu

+0

連接建立的時間,是否有可能爲pexpect.sendline添加超時? – sethu

回答

1

你考慮過paramiko嗎?

下面是一個例子...

#!/usr/bin/env python 
import paramiko 

ssh = paramiko.SSHClient() 
ssh.load_system_host_keys() 

ssh.connect(hostname='example.com', port=22, username='sethu', password='****') 

ssh.exec_command('nohup sleep 300 &') 

ssh.close()