「sshアドレス実行可能ファイル」を使用するときにプロセスを正しく中断する方法は?

「sshアドレス実行可能ファイル」を使用するときにプロセスを正しく中断する方法は?

リモートホストで自分のプログラムをテストするには、次のコマンドを実行しますssh address ./my_executable。このプログラムmy_executableは長い実行プログラムですが、開発中にCTRL + Cを使用して頻繁に中断されます。問題は、CTRL + Cがsshセッションを中断しますが、私のプロセスを終了しないことです。したがって、再実行しようとすると、私のプロセスはまだリソースを使用しているため、エラーが発生します。

現在、回避策を使用しています。 ssh address ./my_executable; echo DONE; ssh address pkill my_executable

しかし、sshを介してコマンドモードで実行されているプログラムを中断するより良い方法はありますか?

ログインssh addressして実行ファイルを実行すると、当然リモート端末にシグナルが伝達されるため、問題は発生しませんが、入力が必要で自動化することはできません。 

ベストアンサー1

ターミナルを明示的に使用すると、sshターミナルが不要であっても目的の動作を得ることができます。

ssh -t address ./my_executable

これは代わりにCtrlC終了します(終了すると接続が閉じるため、とにかくすぐに終了します)。my_executablesshmy_executable

おすすめ記事