SSHを使用してコマンドを実行し、接続が閉じられないようにする(Ctrl + Cを使用)

SSHを使用してコマンドを実行し、接続が閉じられないようにする(Ctrl + Cを使用)

cd /var/www/test; tail -f log/*.log;SSH接続を介してリモートでコマンドを実行できます。

ssh -t [email protected] "cd /var/www/test; tail -f log/*.log; exec $SHELL -l"

良い結果。
ただし、他の操作を実行するには、停止コマンドを押すとすぐに接続が閉じられ、次Control + Cのメッセージが表示されます。

xx.yy.zz.aaへの接続が終了しました。

これを防ぎ、を押した後も接続を維持するにはどうすればよいですかControl + C

ベストアンサー1

そのようなことは起こってはいけません。ssh端末の信号生成をオフにしてください。

SIGINT呼び出しシェルをキャプチャしてみることができます。ssh

trap '' SIGINT

しかし、相手のプロセスも信号を受けません。

^C次のようにテキストを送信することもできますssh

^V^C

通常、^V端末の「引用符」文字です。つまり、^C信号を生成するものとして解釈されず、単に文字通りに渡されます。

おすすめ記事