wanneer u een Unix-taak op de achtergrond uitvoert ( met &, bg-commando), en u afmeldt bij de sessie, wordt uw proces gedood. U kunt dit voorkomen met behulp van verschillende methoden — het uitvoeren van de taak met nohup, of het maken van het als batch-taak met behulp van at, batch of cron Commando.
Deze snelle tip is voor beginners. Als je al een tijdje nohup gebruikt, laat dan een reactie achter en vertel ons onder welke situaties je nohup gebruikt.,
in deze snelle tip, laten we bekijken hoe je proces draait, zelfs nadat je je afmeldt, met behulp van nohup.
Nohup staat voor no hang up, die kan worden uitgevoerd zoals hieronder getoond.gebruik:
# nohup command-with-options &
Nohup is erg handig als u een shell-script of commando moet uitvoeren dat lang duurt voordat het voltooid is. In dat geval wil je niet verbonden worden met de shell en wachten tot het commando voltooid is. Voer het in plaats daarvan uit met nohup, verlaat de shell en ga verder met je andere werk.
uitleg over nohup.,out bestand
standaard wordt de standaarduitvoer doorgestuurd naar nohup.bestand uit de huidige map. En de standaardfout wordt doorgestuurd naar stdout, dus het gaat ook naar nohup.uit. Dus, je nohup.out bevat zowel standaard uitvoer als foutmeldingen van het script dat je hebt uitgevoerd met het nohup Commando.
in plaats van nohup te gebruiken.out, kunt u ook de uitvoer omleiden naar een bestand met behulp van de normale shell omleidingen.,
voorbeeld: regels afdrukken naar beide standaarduitvoer & standaardfout
while(true)doecho "standard output"echo "standard error" 1>&2 sleep 1;done
voer het script uit zonder omleiding
voer het script uit met omleiding
Als u zich afmeldt van de shell en opnieuw inlogt, zult u nog steeds de custom-script.sh op de achtergrond.
$ ps aux | grep sathiya sathiya 12034 0.0 0.1 4912 1080 pts/2 S 14:10 0:00 sh custom-script.sh