红帽子linux中断C程序运行,在Linux中Expect – 中断程序 – Ctrl C.
我正在運(yùn)行以下腳本以在遠(yuǎn)程服務(wù)器上啟動(dòng)捕獲并隨后下載該文件.目前我必須用Ctrl C暫停它并手動(dòng)退出.
如何替換交互并定義觸發(fā)器以終止tcpdump或捕獲Ctrl C并將其傳遞到遠(yuǎn)程服務(wù)器內(nèi)?
spawn ssh "$user_ssh\@$ssh_server"
expect {
"*password" { send "$pass\n"; exp_continue}
"root\@*" { }
timeout { puts "time out expecting password or bash"; exit 1 }
}
send "sudo tcpdump -i $intf -s0 -w $file -v\n";
interact
spawn scp "$user_ssh\@$ssh_server:$file" .
expect "password:"
send "$pass_ssh\n";
expect "100\%"
要發(fā)送Ctrl C,請(qǐng)執(zhí)行以下操作:
send \x03
要處理傳入的Ctrl C,請(qǐng)執(zhí)行以下操作:
trap {your handler script here} SIGINT
您可能希望使處理程序腳本(可以是一個(gè)多行的東西)將信號(hào)發(fā)送到內(nèi)部進(jìn)程…
trap {
send \x03
send_user "You pressed Ctrl+C\n"
} SIGINT
但要小心!當(dāng)用戶在文本模式程序中按下Ctrl C時(shí)(在大多數(shù)GUI中,這是一個(gè)復(fù)制操作),他們通常希望它很快消失,所以你應(yīng)該注意確保你不要花太多時(shí)間信號(hào)到達(dá)清理一切.
總結(jié)
以上是生活随笔為你收集整理的红帽子linux中断C程序运行,在Linux中Expect – 中断程序 – Ctrl C.的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: js 屏蔽鼠标右键
- 下一篇: linux 内核PCI驱动总结记录