I start ssh -S mysocket example.com
to connect example.com
. If my connection hangs, I need to kill
that process:
ssh -S mysocket example.com -N -L 1234:localhost:1234 &
last_pid=$!
...(do something blocker)
kill $last_pid
But that doesn't work. If last_pid
is XXXX
, when I check actual process with ps -ef | grep ssh
, the process' pid seems XXXX + 1
.
Which means that ssh -S socket
starts in background, spawns a child and exit.
How do we capture last pid in this case?