Process running in background got killed in linux
I would suggest that although '&' runs the command in background, when you exit your terminal it is still getting sent SIGHUP. You could use the disown command
disown prevents the current shell from sending a HUP signal to each of the given jobs when the current shell terminates a login session.
If job is omitted, the most recently started or stopped background job is used.