2013-04-12 71 views
1

我使用bash腳本設置了ssh隧道,並且ssh隧道被配置爲共享持久連接隧道。SSH持久連接超時

但是,在我的腳本結束時,我已經設置爲調用對隧道的關閉命令並刪除.ssh/config文件,以使其不會保持打開狀態,也不會隨後的ssh隧道由用戶手動啓動。

問題是這樣的...什麼是最好的方法來處理這個問題,以確保隧道關閉,以防某人ctrl + c腳本或因爲某種原因在腳本中間崩潰之前它調用關閉命令並刪除配置文件?我打算爲控制大師添加一個超時,但是根據我在ssh_config手冊頁中的讀數,我無法確定需要使用什麼。

回答

1

嘗試使用trap

#!/bin/bash 

on_sigint(){ 
    echo this function is called on ctrl+c   
} 

trap "on_sigint" SIGINT SIGTERM 
echo start 

# Do what you want 
... 

echo stop 
+0

這個工作!非常感謝! –