Mount
是否有使用者級的萬無一失的方法來強制終止 sshfs 連接?
我希望
sshfs
在一段時間後終止連接,最多一個小時,這意味著在我用來啟動掛載的同一命令或腳本中啟動該at
命令。fusermount -u``sshfs
但是我注意到,
fusermount
如果文件正在使用中,則可能會失敗,儘管我希望at
命令能夠在連接中仍然打開文件的情況下工作。根據我的經驗,唯一可靠的方法是以
fusermount
root 身份執行命令或通過命令終止sshfs
連接kill
。有沒有其他方法可以在不以 root 身份執行的情況下強制斷開連接?
at
問題是當文件仍然打開時我可能不在終端,但為了安全起見,除非我取消命令,否則必須斷開連接。
如果您只想釋放掛載點,而不關心終止 SSH 連接,則可以執行
fusermount -z /mount/point
. 這將執行延遲解除安裝:掛載點不再與掛載關聯,但掛載不會消失,直到該掛載上所有打開的文件都關閉。如果你只想關閉 SSH 連接而不關心掛載,你可以簡單地殺死 SFTP 伺服器程序。這就是 FUSE 的美妙之處:殺死提供服務的程序,它就消失了。掛載不能鎖定係統資源。嘗試訪問文件系統的程序將收到錯誤(ENOTCONN“傳輸端點未連接”)。
如果您想殺死在該文件系統上打開文件的程序,您可以使用該
fuser
命令(與 FUSE 無關,除了 F 是“文件”的第一個字母)。fuser -k /mount/point