Empregos rejeitados ainda param na saída

Empregos rejeitados ainda param na saída

Eu me conecto a um servidor remoto e executo algo assim:

cat /dev/zero > /dev/null & disown %-

Então eu faço isso logout, reconecto e psnão mostra nenhum catprocesso em execução. Por que?

Responder1

Este comando funciona do meu lado. Parece exigir muitos recursos. Talvez você queira tentar:

sleep 999 & disown %-

e faça um ps aux | grep sleepapós um novo login.

No entanto, se você sabe que deseja rejeitar o processo antes de iniciá-lo, você pode simplesmente usar nohup:

nohup sleep 999

Responder2

Use %%ou %+para o trabalho "atual" (em segundo plano mais recente). %-é para oanteriorjob, que é o segundo trabalho interrompido ou em segundo plano mais recentemente. Eles significam a mesma coisa se houver apenas um emprego. Mas se você deixou alguns trabalhos em segundo plano em execução em uma parte anterior de sua sessão ou script do shell, a maneira como você está usando %-provavelmente não está direcionando o trabalho que você pensa que é.

informação relacionada