
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
当然ですが、スクリプトはまずリモート ホストに転送されます。:)