私はこれについて混乱しています。マニュアルページから:
-f Requests ssh to go to background just before command execution.
次のコマンドを使用してSSHを開始すると、動作中の-f
トンネルが発生しました。しかし、仕事が終わったら、それ以上のやり取りをする方法がわかりません。例えば、SSHトンネルを閉じることができません。私が終わったら。
私が知っている一般的な方法は動作しません。たとえば、jobs
何も返されません。コマンド~
が認識されません(使用方法がわかりません)。
ただし、pgrep
SSHトンネルがまだ実行中であることを示すメッセージが表示されます(ターミナルを閉じた後でも)。どのようにやり取りしますか?どうやって消すの?
ベストアンサー1
master mode
特に良いスクリプトソリューションは、制御コマンド用のソケットと一緒に使用することです。
ssh -f -N -M -S <path-to-socket> -L <port>:<host>:<port> <server>
もう一度閉じるには:
ssh -S <path-to-socket> -O exit <server>
これにより、プロセスIDのグリッピングや他の方法に関連する可能性があるタイミングの問題を回避できます。