For example, if i do run it with the & at the end it does what I want,
yet obviously (to my knowledge) you can't get back to the subshell without killing it and restarting it. I have looked into the "screen" shell utility, which for the most part does what I needed, however after a few days the session had disappeared and I was not able to get back to it from another machine/ssh session.
Are there any other options?
screen works pretty well, I have some screen sessions that are more than month old. When you connect from antoher machine, what command do you type? It should be:
screen -r -x
That forces a reconnect, even if someone else is already connected.
On a side note: this is a nice way to collaborate on some work between a few people who are not at the same physical location. Everyone SSH's in to a machine, one person runs screen, the others run screen -r -x. you are now all staring at the same terminal and can all work together. Handy for teaching people.
Cheers, Mike