
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 ps
não mostra nenhum cat
processo 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 sleep
apó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 é.