Try to split it off into a new session to prevent it getting `SIGHUP'.
nil)
mkdir -p -m700 "$dir"
SSH_AUTH_SOCK=$socket
nil)
mkdir -p -m700 "$dir"
SSH_AUTH_SOCK=$socket
+ p=$PATH
+ runes=
+ while :; do
+ case $p in *:*) d=${p%%:*} p=${p#*:} ;; *) d=$p p= ;; esac
+ if [ -x "${d+$d/}setsid" ]; then runes="$runes setsid"; break; fi
+ case $p in "") break ;; esac
+ done
set +e; ssh-add -l >/dev/null 2>&1; rc=$?; set -e
if [ $rc -ge 2 ]; then
if [ -f "$pid" ]; then
kill $(cat "$pid") >/dev/null 2>&1 || :
fi
rm -f "$socket" "$pid"
set +e; ssh-add -l >/dev/null 2>&1; rc=$?; set -e
if [ $rc -ge 2 ]; then
if [ -f "$pid" ]; then
kill $(cat "$pid") >/dev/null 2>&1 || :
fi
rm -f "$socket" "$pid"
- (cd /; exec ssh-agent -d -a "$socket" >/dev/null 2>&1)&
+ (cd /; exec $runes ssh-agent -d -a "$socket" </dev/null >/dev/null 2>&1)&
echo $! >"$pid"
SSH_AUTH_SOCK=$socket
fi
echo $! >"$pid"
SSH_AUTH_SOCK=$socket
fi