wait(1p): Skillnad mellan sidversioner
Admin (diskussion | bidrag) Ingen redigeringssammanfattning |
Admin (diskussion | bidrag) Ingen redigeringssammanfattning |
||
| Rad 26: | Rad 26: | ||
2. Ett jobbstyrnings-ID (se POSIX.1-2017, avsnitt 3.204, ''Job Control Job ID'') som identifierar en bakgrundsprocessgrupp. Detta gäller endast i den aktuella skal-exekveringsmiljön; se avsnitt 2.12. Returvärdet blir statusen för det sista kommandot i pipelinen. | 2. Ett jobbstyrnings-ID (se POSIX.1-2017, avsnitt 3.204, ''Job Control Job ID'') som identifierar en bakgrundsprocessgrupp. Detta gäller endast i den aktuella skal-exekveringsmiljön; se avsnitt 2.12. Returvärdet blir statusen för det sista kommandot i pipelinen. | ||
Obs: Jobbstyrnings-ID stöds bara på system med User Portability Utilities-optionen. | |||
== STDIN == | == STDIN == | ||
| Rad 66: | Rad 66: | ||
== SLUTSTATUS == | == SLUTSTATUS == | ||
* Om ''wait'' anropas utan operander och alla kända processer har avslutats returneras | * Om ''wait'' anropas utan operander och alla kända processer har avslutats returneras 0. | ||
* Om ett fel upptäcks returneras | * Om ett fel upptäcks returneras 1–126. | ||
* Om sista angivna ''pid'' var okänd returneras | * Om sista angivna ''pid'' var okänd returneras 127. | ||
* Om en process avslutas av en signal ska statusen vara >128, med unikt värde för signalen, men exakta värdet är ospecificerat (se [[kill(1p)]] -l). | * Om en process avslutas av en signal ska statusen vara >128, med unikt värde för signalen, men exakta värdet är ospecificerat (se [[kill(1p)]] -l). | ||
| Rad 128: | Rad 128: | ||
Vid skillnader gäller originalstandarden som auktoritativ. Den kan hämtas på: http://www.opengroup.org/unix/online.html | Vid skillnader gäller originalstandarden som auktoritativ. Den kan hämtas på: http://www.opengroup.org/unix/online.html | ||
Nuvarande version från 29 augusti 2025 kl. 06.48
wait(1p)
NAMN
wait — vänta på att processer avslutas
SYNOPSIS
wait [pid...]
BESKRIVNING
När en asynkron lista (se avsnitt 2.9.3.1, Exempel) startas av skalet blir process-ID:t för det sista kommandot i varje element av listan känt i den aktuella skal-exekveringsmiljön; se avsnitt 2.12, Shell Execution Environment.
Om wait anropas utan operander ska det vänta tills alla process-ID:n som är kända av det anropande skalet har avslutats och sedan avslutas med returvärdet 0.
Om en eller flera pid-operander anges och dessa motsvarar kända processer, ska wait vänta tills alla avslutats. Om någon operand motsvarar en okänd process ska den behandlas som om den avslutats med status 127. Returvärdet från wait är då samma som för det sista angivna pid.
FLAGGOR
Inga.
OPERANDER
pid
- Kan vara ett av följande:
1. Ett osignerat heltal som är process-ID för ett kommando som ska väntas på. 2. Ett jobbstyrnings-ID (se POSIX.1-2017, avsnitt 3.204, Job Control Job ID) som identifierar en bakgrundsprocessgrupp. Detta gäller endast i den aktuella skal-exekveringsmiljön; se avsnitt 2.12. Returvärdet blir statusen för det sista kommandot i pipelinen.
Obs: Jobbstyrnings-ID stöds bara på system med User Portability Utilities-optionen.
STDIN
Inte använt.
INDATAFILER
Inga.
MILJÖVARIABLER
LANG
- Standardvärde för internationaliseringsvariabler som är osatta eller tomma.
LC_ALL
- Åsidosätter alla andra internationaliseringsvariabler om det är satt.
LC_CTYPE
- Avgör lokalanpassning för tolkning av tecken.
LC_MESSAGES
- Avgör lokalanpassning för diagnostiska meddelanden.
NLSPATH
- Anger plats för meddelandekataloger för LC_MESSAGES.
ASYNKRONA HÄNDELSER
Standard.
STDOUT
Inte använt.
STDERR
Används endast för diagnostiska meddelanden.
UTGÅNGSFILER
Inga.
UTÖKAD BESKRIVNING
Ingen.
SLUTSTATUS
- Om wait anropas utan operander och alla kända processer har avslutats returneras 0.
- Om ett fel upptäcks returneras 1–126.
- Om sista angivna pid var okänd returneras 127.
- Om en process avslutas av en signal ska statusen vara >128, med unikt värde för signalen, men exakta värdet är ospecificerat (se kill(1p) -l).
FELSITUATIONER
Standard.
Följande avsnitt är informativa.
ANVÄNDNING
wait är i de flesta implementationer en inbyggd del av skalet. Om det körs i en subshell eller separat miljö (t.ex. `(wait)`, `nohup wait ...`, `find . -exec wait ... \;`) returnerar det direkt eftersom det inte finns några kända process-ID:n där.
POSIX kräver att skalet sparar status för avslutade bakgrundsjobb tills statusen efterfrågas, så skript som detta fungerar pålitligt:
j1& p1=$! j2& wait $p1 echo "Jobb 1 avslutades med status $?" wait $! echo "Jobb 2 avslutades med status $?"
EXEMPEL
Exempel på att identifiera vilken signal som avslutade en process:
sleep 1000 & pid=$! kill -kill $pid wait $pid echo "$pid avslutades av en SIG$(kill -l $?) signal."
Exempel med pipeline och jobbstyrning:
sleep 257 | sleep 31 & jobs -l %% wait <pid för sleep 31> wait %%
MOTIVERING
wait beskrivs inte i termer av funktionen waitpid() i POSIX.1-2017 för att undvika överspecificering. Men om ett argument ges måste wait vänta på den specifika processen.
Stöd för flera pid-operander kommer från KornShell. Detta lades till för att noggrant kunna bestämma status för asynkrona listor.
FRAMTIDA RIKTNINGAR
Inga.
SE ÄVEN
kill(1p), sh(1p), jobs(1p), bg(1p), fg(1p), sleep(1p). POSIX.1-2017: avsnitt 3.204 Job Control Job ID, kapitel 8 Environment Variables. Systemgränssnitt: wait(3p).
COPYRIGHT
Delar av denna text är återgiven från IEEE Std 1003.1-2017, Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 7, 2018 Edition. Copyright © 2018 IEEE och The Open Group.
Vid skillnader gäller originalstandarden som auktoritativ. Den kan hämtas på: http://www.opengroup.org/unix/online.html
Sidslut
Orginalhemsidan på Engelska : https://man7.org/linux/man-pages/man1/wait.1p.html
Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp som har sponsrat Linux.se med webbhotell.