Using nohup to allows jobs to continue on logout
Inhoudsopgave:
- Hoe het nohup-commando te gebruiken
- Het commando uitvoeren op de achtergrond
- Uitvoer omleiden naar een bestand
- alternatieven
- Scherm
- tmux
- Verloochenen
- Conclusie
De opdracht
nohup
voert een ander programma uit dat is opgegeven als argument en negeert alle
SIGHUP
(hangup) signalen.
SIGHUP
is een signaal dat naar een proces wordt verzonden wanneer de controlerende terminal is gesloten.
Als u een programma via SSH uitvoert en uw verbinding verbreekt of als u uitlogt, wordt de sessie meestal beëindigd en stoppen alle processen die vanaf de terminal worden uitgevoerd. Dit is waar het commando nohup van pas komt. Het negeert alle ophangsignalen en het proces blijft doorgaan.
Hoe het nohup-commando te gebruiken
De syntaxis voor de opdracht
nohup
is als volgt:
nohup COMMAND
De opdracht accepteert geen andere opties behalve de standaard
--help
en
--version
.
Laten we het volgende voorbeeld bekijken:
nohup mycommand
nohup: ignoring input and appending output to 'nohup.out'
mycommand
voert de opdracht
mycommand
op de voorgrond uit en stuurt de opdrachtuitvoer naar het bestand
nohup.out
. Dit bestand wordt gemaakt in de huidige werkmap. Als de gebruiker die de opdracht uitvoert geen schrijfmachtigingen heeft voor de werkmap, wordt het bestand gemaakt in de thuismap van de gebruiker.
Als u uitlogt of de terminal sluit, wordt het proces niet beëindigd.
Het commando uitvoeren op de achtergrond
Het gebruik van
nohup
op de voorgrond is niet erg handig omdat je pas met de shell kunt communiceren als de opdracht is voltooid.
Om de opdracht op de achtergrond uit te voeren, voegt u het
&
-symbool toe aan het einde van de opdracht:
nohup mycommand &
De uitvoer bevat de shell-taak-ID (tussen haakjes) en proces-ID:
25177
U kunt de taak-ID gebruiken om de opdracht op de voorgrond te plaatsen met de opdracht
fg
.
Als u om een of andere reden het proces wilt beëindigen, gebruikt u de opdracht
kill
gevolgd door de proces-ID:
Uitvoer omleiden naar een bestand
Standaard verwijst
nohup.out
de opdrachtuitvoer naar het bestand
nohup.out
. Als u de uitvoer naar een ander bestand wilt omleiden, gebruikt u de standaard shell-omleiding.
Als u bijvoorbeeld de standaarduitvoer en standaardfout wilt omleiden naar de
mycommand.out
u:
nohup mycommand > mycommand.out 2>&1 &
De standaarduitvoer en standaardfout omleiden naar verschillende bestanden:
nohup mycommand > mycommand.out 2> mycommand.err &
alternatieven
Er zijn verschillende alternatieve programma's die u kunt gebruiken om te voorkomen dat een opdracht wordt beëindigd wanneer u de terminal sluit of de verbinding verliest.
Scherm
Screen of GNU Screen is een terminal-multiplexerprogramma waarmee u een schermsessie kunt starten en een willekeurig aantal vensters (virtuele terminals) binnen die sessie kunt openen. Processen die in Scherm worden uitgevoerd, blijven actief als hun venster niet zichtbaar is, zelfs als u de verbinding verliest.
tmux
Tmux is een modern alternatief voor het GNU-scherm. Met Tmux kunt u ook een sessie maken en meerdere vensters binnen die sessie openen. Tmux-sessies zijn persistent, wat betekent dat programma's die in Tmux worden uitgevoerd, blijven draaien, zelfs als u de terminal sluit.
Verloochenen
disown
is een ingebouwde shell die een shell-taak verwijdert uit de taakcontrole van de shell. In tegenstelling tot
nohup
, kunt u
disown
ook gebruiken bij actieve processen.
Conclusie
nohup
kunt u voorkomen dat opdrachten worden beëindigd wanneer u uitlogt of de terminal verlaat.
Kunnen dichtknijpen Google OS kan andere smaken van Linux onder druk zetten
Een groot deel van de discussie rond het nieuwe pc-besturingssysteem van Google is gericht op een dreigende strijd met Windows, maar de grootste verliezers kunnen andere Linux-besturingssystemen zijn die met enig gematigd succes op netbooks, industrieanalisten hebben genoten zei.
De verzameling 'Linux Diversity': een pakket, 10 Linux-distro's
Als u op zoek bent naar een nieuw besturingssysteem , deze set geeft je een groot aantal van de nieuwste populaire opties.
Te installeren Review: Linux Live USB Creator maakt het eenvoudiger om Linux
Te installeren Linux is de meeste mensen altijd tegengekomen als iets te gecompliceerd installeren en leren. Maar met Linux Live USB Creator kunt u nu een van de vele Linux-besturingssystemen op uw USB-stick installeren en deze met absolute gemak bedienen.







