バックグラウンドでSSHを実行すると、シェルはキーストロークを失います。

バックグラウンドでSSHを実行すると、シェルはキーストロークを失います。

SSH + Bash + Terminal.appを使用すると、奇妙な問題が発生します。 SSHがバックグラウンドで実行されると、シェルは約50%の時間ランダムにキーストロークを失うようです。

たとえば、次のように実行すると:

$ ssh -N my-tunnel &
$ # typing becomes lossy

その後、「asdf」と入力すると、文字「a」と「f」のみが表示されます。これはランダムであり、部分的に入力速度に関連していますが、最高速度で入力すると「f」しか表示されません。

この問題はシェルにのみ影響します。たとえば、を実行すると、ssh -N my-tunnel & cat文字が期待どおりにcatによってエコーされます。猫が死んだら、鍵は消え、私は再び殻に戻ります。

その他の注意事項:

  • 他の端末ウィンドウは影響を受けません。
  • sshが終了すると、シェルはすぐに正常に戻ります。
  • 使用してもnohup ssh -N my-tunnel &何も変わりません

だから:どうしたの?端末を破壊せずにバックグラウンドでSSHを実行する方法はありますか?

ベストアンサー1

sshが端末からデータを読み取らないように-nするには、Exceptを使用する必要があります。-N

おすすめ記事