私はsshfsを使用して、開発ボックスで便利なことを行っています。大好きです。しかし、私は通常、ふたを閉じる前にfusermount -u
を忘れます(休止状態をトリガーします)。その後、戻ってきたときにsshfsがフリーズし、クリーンアップする必要があります。
/etc/pm/sleep.dに、すべてのsshfsマウントポイントとDWIMを反復処理するスクリプトが必要です。 fusermount -u
チェックで書かれたdf -l
コードがあります。しかし、テストでは、fusermount -u
が機能するために、すべてのマウントポイントからCDを取り出す必要があると判断しました。
しかし、開いているbashターミナルを繰り返し処理して、そこで役立つことを行う方法がわかりません。助けて?
これは、カスタムユーザーシグナルハンドラーを~/.bashrc
に登録することで実行できます。
trap '[ "$PWD" = "/my/sshfs/mount" ] && cd ~' SIGUSR1
次に、このハンドラーは、SIGUSR1
シグナルをbashプロセスに送信するたびに呼び出されます。
killall -u "$USER" -USR1 bash
これにはいくつかの注意点があります。
~/.bashrc
を使用すると一般的にこれが行われると思います。ただし、このスタートアップファイルのソースを上書きするbashのオプションがあります。