我使用 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
显然,脚本首先被传输到远程主机。 :)