Om de opdracht te laten doorgaan na het sluiten van het Terminal-toepassingsvenster, moet u het volgende doen.
- Laat het commando voorafgaan door
nohup
. Hierdoor kan de opdracht worden voortgezet nadat het Terminal-toepassingsvenster is gesloten. Hierdoor kan het commando ook doorgaan na het afsluiten van de Terminal-applicatie.
- Stuur standaarduitgang en standaardfout door naar dezelfde of verschillende bestanden. Dit geeft de uitvoer ergens naartoe, anders wordt de standaard gebruikt. (Zie de man-pagina hieronder).
- Voeg een
&
toe aan het einde van de opdrachtregel. Dit voert het commando uit op de achtergrond, anders krijg je pas een commando-prompt als het commando klaar is.
Als ik bijvoorbeeld het find
-commando zou willen gebruiken om naar het bestand readgpt
te zoeken en de resultaten af te drukken naar een Terminal-toepassingsvenster, zou ik het gegeven commando uitvoeren hieronder. Opmerking: hier geef ik niet om de foutmeldingen, dus heb ik de standaardfout omgeleid naar / dev / null
.
find / -name readgpt -print 2> / dev / null
Als ik nu het Terminal-toepassingsvenster zou willen sluiten en de resultaten later zou willen bekijken, zou ik de onderstaande opdracht uitvoeren.
nohup find / -name readgpt -print > ~ / Documents / results.txt 2> / dev / null &
Nadat u het bovenstaande heeft ingevoerd, krijgt u een jobnummer tussen haakjes gevolgd door een procesnummer. Hieronder wordt een voorbeeld gegeven.
[1] 1456
U kunt de status van dit proces opvragen door het ps
commando in te voeren, zoals hieronder getoond.
Marlin: ~ davidanderson $ ps 1456
PID TT STAT TIJD OPDRACHT
1456 s001 U 0: 06.83 find / -name readgpt -print
U kunt dit proces beëindigen door het kill
commando in te voeren, zoals hieronder getoond.
Marlin: ~ davidanderson $ kill 1456
[1] + Beëindigd: 15 nohup find / -name readgpt -print > ~ / Documents / results.txt 2> / dev / null
Opmerking: als u het kill
-commando invoert in een venster dat verschilt van het venster dat is gebruikt om het proces te maken, zal er waarschijnlijk geen uitvoer zijn.
De man-pagina voor het nohup
commando wordt hieronder gegeven.
NOHUP (1) BSD Algemene commando's Handleiding NOHUP (1)
NAAM
nohup - roep een hulpprogramma aan dat immuun is voor hangups
KORTE INHOUD
nohup [-] hulpprogramma [argumenten]
OMSCHRIJVING
Het nohup-hulpprogramma roept het hulpprogramma aan met zijn argumenten en hierbij
tijd stelt het signaal SIGHUP in dat moet worden genegeerd. Als de standaard output
is een terminal, wordt de standaarduitvoer toegevoegd aan het bestand nohup.out
in de huidige directory. Als de standaardfout een terminal is, is het dat ook
gericht naar dezelfde plaats als de standaarduitvoer.
Sommige shells bieden mogelijk een ingebouwd nohup-commando dat vergelijkbaar is met of
identiek aan dit hulpprogramma. Raadpleeg de ingebouwde (1) handleiding.
MILIEU
De volgende variabelen worden door nohup gebruikt:
HOME Als het uitvoerbestand nohup.out niet kan worden gemaakt in het huidige
directory, gebruikt het nohup-hulpprogramma de directory met de naam HOME
om het bestand te maken.
PATH Wordt gebruikt om het aangevraagde hulpprogramma te lokaliseren als de naam nr. Bevat
'/' tekens.
VERLAT STATUS
Het hulpprogramma nohup wordt afgesloten met een van de volgende waarden:
126 Het hulpprogramma is gevonden, maar kan niet worden aangeroepen.
127 Het hulpprogramma is niet gevonden of er is een fout opgetreden in
nohup.
Anders zal de exit-status van nohup die van nut zijn.
ZIE OOK
ingebouwd (1), csh (1), signaal (3)
STANDAARDEN
Het hulpprogramma nohup is naar verwachting IEEE Std 1003.2 (`` POSIX.2 '')
verenigbaar.
INSECTEN
Twee of meer instanties van nohup kunnen aan hetzelfde bestand worden toegevoegd, dat
zorgt voor een verwarrende output.
BSD 19 juli 2001 BSD