リモートホストで自分のプログラムをテストするには、次のコマンドを実行します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_executable
ssh
my_executable