Setting MySQLDump to keep running in the background after session times out
I think I found the problem. Apparently the nohup command ended at the | symbol, so when the session expired the second part of the command stopped with the session.

To get round this I ran:

nohup sh -c 'mysqldump -hxxx -P3306 -uxxx -pxxx --dump-slave --databases a b c d --ignore-table=a.xxx -F | mysql -h127.0.0.1 -P3306 -uxxx -pxxx' &amp;

I checked it was running, and then EXITed the shell, and so far, it is still running.