spawn的問題 - BBS

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

--

All Comments