När du kör ett Unix-jobb i bakgrunden ( med &, bg-kommandot) och loggar ut från sessionen kommer din process att bli dödad. Du kan undvika detta med flera metoder-utföra jobbet med nohup, eller göra det som batch jobb med at, batch eller cron kommando.
detta snabba tips är för nybörjare. Om du har använt nohup ett tag, lämna oss en kommentar och berätta under vilka situationer du använder nohup.,
i det här snabba tipset, låt oss granska hur du gör din process igång även efter att du loggat ut, med nohup.
Nohup står för no hang up, som kan utföras som visas nedan.
nohup syntax:
# nohup command-with-options &
Nohup är till stor hjälp när du måste utföra ett skalskript eller kommando som tar lång tid att avsluta. I så fall vill du inte vara ansluten till skalet och väntar på att kommandot ska slutföras. I stället utföra det med nohup, avsluta skalet och fortsätt med ditt andra arbete.
Förklaring om nohup.,som standard omdirigeras standardutmatningen till nohup.ut filen i den aktuella katalogen. Och standardfelet kommer att omdirigeras till stdout, så det kommer också att gå till nohup.ut. Så, din nohup.out kommer att innehålla både standard utdata och felmeddelanden från skriptet som du har exekverat med kommandot nohup.
istället för att använda nohup.ut, kan du också omdirigera utdata till en fil med hjälp av de normala skal omdirigeringar.,
exempel: skriva ut rader till både standardutmatning & standardfel
while(true)doecho "standard output"echo "standard error" 1>&2 sleep 1;done
kör skriptet utan omdirigering
kör skriptet med omdirigering
om du loggar ut från skalet och loggar in igen ser du fortfarande skriptet
ustom-script.sh körs i bakgrunden.
$ ps aux | grep sathiya sathiya 12034 0.0 0.1 4912 1080 pts/2 S 14:10 0:00 sh custom-script.sh