我有一个新贵配置来启动我的守护进程(每次都与其他服务器建立 ssh 连接)。为了建立 ssh 连接,它使用存储在 ssh-agent 中的密钥。因此,在启动脚本中,我正在创建一个 ssh-agent 实例,但是在停止时我无法停止它。
script
eval $(ssh-agent -s) > /dev/null
# command to start deamon
end script
pre-stop script
if [ -n "$SSH_AGENT_PID" ]; then
echo "killing ssh-agent..."
eval `ssh-agent -k`
fi
end script
在 pre-stop 部分,SSH_AGENT_PID 是空的,所以我无法杀死。这里可能是什么问题..
还有一个问题:我有很多生成的 ssh-agent 进程,我无法使用 ssh-agent -k 杀死它们,因为它是由其他一些 shell 生成的。有没有办法可以杀死这些进程(无需使用 kill 命令强行杀死它)。