sudo apt-add-repository ppa:run-one/ppa sudo apt-get update sudo apt-get install -y run-one
run-one is a very useful tool that you can use to ensure that you never have more than one invocation of a process running on a system at a time. I now use it in every single cron job I have, to keep long running jobs from ever stepping on a subsequent one.
I use a bip proxy to keep me connected to IRC and log messages even while I'm away. Before opening xchat, I need to establish an ssh tunnel to my bip proxy. More importantly, I need to keep that connection up (particularly when I'm on an unreliable network).
To solve that problem generally, I added the keep-one-running mode to run-one. And now, I added this command to my Unity startup applications:
keep-one-running ssh -N -C -L 7778:localhost:7778 divitup.com
If I were a root user, I could perhaps use upstart and the respawn directive. I guess you could look at keep-one-running as a poor man's respawn. Give it a shot and let me know if it's useful to you!