リモートスクリプトのクリーンアップ

リモートスクリプトのクリーンアップ

SSHを使用してリモートスクリプトを実行します。

ローカルスクリプト:

local_command
ssh -p 222 user@server 'sh -s' < ./remote_run.sh

リモートスクリプト:

some_command & 
sleep 10000
trap 'echo exiting' SIGINT SIGTERM SIGABRT SIGKILL EXIT

クリーンアップ(実行中のプロセスのシャットダウンとファイルの削除)のために、リモートスクリプトにトラップを設定する必要があります。ただし、使用された方法は機能しません。

どんな提案がありますか?

答え1

魅力を試してみました。

ssh -p 222 user@server "nohup ./remote_run.sh"

そしてremote_run.shから

some_command &
sleep 10000
ps -aux | grep "[r]emote_run.sh" | awk '{print $2}' | xargs kill -9
#killed

明らかに、スクリプトはまずリモートホストに送信されます。 :)

関連情報