Forwarding VNC via ssh, or finding the PID of a running ssh

I found a few people asking how to automate scripts using ssh with
the -f option but not many solutions. Th -f option
makes the ssh process fork into the background once started,
but since it doesn't give you it's PID it becomes hard to kill it once
the script ends.

The solution is to setup a control channel with -M. This
allows you to communicate to the ssh process and close it down when
your process finishes. For example, here is how I open a VNC
connection to my desktop at work, which involves going through a
corporate ssh firewall box.

ssh -M -S /tmp/vncssh-firewall.ctl -L 2022:desktop.internal.company.com:22 -f -N
ssh -M -S /tmp/vncssh-localhost.ctl -N -p 2022 -L 5901:localhost:5901 -f -N username@localhost
xtightvncviewer -encodings tight localhost:1
ssh -S /tmp/vncssh-firewall.ctl -O exit localhost
ssh -S /tmp/vncssh-localhost.ctl -O exit firewall.company.com

None
A comma-separated list of terms describing this content. Example: funny, bungee jumping, "Company, Inc.".