spawn的問題 - BBS
By Yedda
at 2009-03-18T16:27
at 2009-03-18T16:27
Table of Contents
我要寫一個透過RS232去控制某一個Terminal的shell script
目前有兩支,一支是login到terminal,另外一支是執行某個command
執行步驟是先呼叫login這支script接著再呼叫另外一支執行command
因為執行script都是產生一個新的proess去做
所以當我呼叫第一支去login的時候(有成功)
接著第二支要透過RS232去執行command的時候
因為RS232所有權已經被login這支process佔住了
就沒有辦法透過RS232去執行command
爬了文還有google
找到的都是telnet或ssh到某個server
有沒有人知道要怎麼讓第一支login的process release掉RS232的所有權?
我的expect版本是5.43.0
下面是那兩支script的內容
#login to terminal
#!/usr/local/bin/expect
set force_conservative 1
set send_slow {1 .2}
spawn tip -115200 com1
expect "請輸入代號:"
send -s "aaa\r"
expect "請輸入密碼:"
send -s "bbb\r"
exit
#exec command
#!/usr/local/bin/expect
set force_conservative 1
set send_slow {1 .2}
spawn tip -115200 com1
send -s "ccc\r" #exec command
exit
--
目前有兩支,一支是login到terminal,另外一支是執行某個command
執行步驟是先呼叫login這支script接著再呼叫另外一支執行command
因為執行script都是產生一個新的proess去做
所以當我呼叫第一支去login的時候(有成功)
接著第二支要透過RS232去執行command的時候
因為RS232所有權已經被login這支process佔住了
就沒有辦法透過RS232去執行command
爬了文還有google
找到的都是telnet或ssh到某個server
有沒有人知道要怎麼讓第一支login的process release掉RS232的所有權?
我的expect版本是5.43.0
下面是那兩支script的內容
#login to terminal
#!/usr/local/bin/expect
set force_conservative 1
set send_slow {1 .2}
spawn tip -115200 com1
expect "請輸入代號:"
send -s "aaa\r"
expect "請輸入密碼:"
send -s "bbb\r"
exit
#exec command
#!/usr/local/bin/expect
set force_conservative 1
set send_slow {1 .2}
spawn tip -115200 com1
send -s "ccc\r" #exec command
exit
--
Tags:
BBS
All Comments
Related Posts
是否有修改檔案內容的指令? (除了 ee、vi)
By Emily
at 2009-03-16T15:39
at 2009-03-16T15:39
jail 的問題.
By Callum
at 2009-03-07T15:00
at 2009-03-07T15:00
jail 的問題.
By Queena
at 2009-03-07T11:42
at 2009-03-07T11:42
如何利用FreeBSD控管IP
By Steve
at 2009-03-06T22:50
at 2009-03-06T22:50
關於備份
By Rebecca
at 2009-03-06T17:20
at 2009-03-06T17:20