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
분명히 스크립트는 먼저 원격 호스트로 전송됩니다. :)