Você pode usar disown , é um bash embutido:
disown [-ar] [-h] [jobspec ...]
Without options, each jobspec is removed from the table of active jobs. If the -h option is given, each jobspec is not removed from the table, but is marked so that SIGHUP is not sent to the job if the shell receives a SIGHUP. If no jobspec is present, and neither the -a nor the -r option is supplied, the current job is used. If no jobspec is supplied, the -a option means to remove or mark all jobs; the -r option without a jobspec argument restricts operation to running jobs. The return value is 0 unless a jobspec does not specify a valid job.
Tente isto:
$ <your command> &
$ disown
Primeiro, faça seu comando rodar em segundo plano digitando <your command> &
, então use disown
, ele fará com que seu comando continue rodando mesmo se sua sessão ssh estiver desconectada.
IMHO, você deve usar uma ferramenta para controlar seu serviço, como supervisord
ou escrever seu próprio script de inicialização.