É possível alterar um processo em execução no linux, para que ele não seja encerrado após o logout?

2

Eu sei que você pode usar nohup para manter um trabalho em execução depois de fazer logout, mas e um processo que já está em execução?

Existe uma maneira de alterar seu estado, para que continue a ser executado mesmo quando eu sair?

    
por bh1 02.11.2011 / 22:26

1 resposta

5

No Bash, você pode disown o processo .

disown [-ar] [-h] [jobspec … ]     

Each jobspec is removed from the table of active jobs.

  • -h SIGHUP is not sent to the job if the shell receives a SIGHUP. current job .
  • -a all the -r running jobs.

Veja também: Material da shell: controle de tarefas e tela

If you use the bash shell, then you have an alternative (don't you always?) Instead of using nohup, just run the command normally, put it in the background one of the two ways we've discussed, and then disown -h the job.

$ tar cjf /backup/rob/home.tar.bz2 . &

[1] 32089
$ disown -h

You can then safely logout or close your terminal. As with nohup, if you close the terminal or logout, you will not be able to access that command directly using the jobs and %<N> or fg <N> commands..

Postagens relacionadas na rede do Stack Exchange:

por 02.11.2011 / 22:41