wait(1p): Skillnad mellan sidversioner
Admin (diskussion | bidrag) (Skapade sidan med '= wait(1p) = == NAMN == wait — vänta på att processer avslutas == SYNOPSIS == <pre> wait [pid...] </pre> == 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 den asynkrona listan känt i den aktuella skal-exekveringsmiljön; se avsnitt 2.12, ''Shell Execution Environment''. Om verktyget ''wait'' anropas utan operander ska det vänta tills alla process-ID:n som ä...') |
Admin (diskussion | bidrag) Ingen redigeringssammanfattning |
||
| (En mellanliggande sidversion av samma användare visas inte) | |||
| Rad 1: | Rad 1: | ||
= wait(1p) = | = wait(1p) = | ||
| Rad 10: | Rad 11: | ||
== BESKRIVNING == | == 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 | 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 | 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 | 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 == | == FLAGGOR == | ||
| Rad 22: | Rad 21: | ||
== OPERANDER == | == OPERANDER == | ||
''pid'' | ''pid'' | ||
: | : Kan vara ett av följande: | ||
1. Ett osignerat heltal som | 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 | 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 38: | Rad 35: | ||
== MILJÖVARIABLER == | == MILJÖVARIABLER == | ||
''LANG'' | ''LANG'' | ||
: Standardvärde för internationaliseringsvariabler som är osatta eller tomma. | : Standardvärde för internationaliseringsvariabler som är osatta eller tomma. | ||
''LC_ALL'' | ''LC_ALL'' | ||
: Åsidosätter alla andra internationaliseringsvariabler om satt | : Åsidosätter alla andra internationaliseringsvariabler om det är satt. | ||
''LC_CTYPE'' | ''LC_CTYPE'' | ||
: | : Avgör lokalanpassning för tolkning av tecken. | ||
''LC_MESSAGES'' | ''LC_MESSAGES'' | ||
: | : Avgör lokalanpassning för diagnostiska meddelanden. | ||
''NLSPATH'' | ''NLSPATH'' | ||
| Rad 62: | Rad 57: | ||
== STDERR == | == STDERR == | ||
Används endast för diagnostiska meddelanden. | |||
== UTGÅNGSFILER == | == UTGÅNGSFILER == | ||
| Rad 71: | Rad 66: | ||
== SLUTSTATUS == | == SLUTSTATUS == | ||
Om | * Om ''wait'' anropas utan operander och alla kända processer har avslutats returneras 0. | ||
* Om ett fel upptäcks returneras 1–126. | |||
* Om | * 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 == | == FELSITUATIONER == | ||
| Rad 85: | Rad 77: | ||
== ANVÄNDNING == | == 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. | |||
(wait) | |||
nohup wait ... | |||
find . -exec wait ... \; | |||
returnerar det | |||
POSIX kräver att skalet sparar status för avslutade bakgrundsjobb tills statusen efterfrågas, så skript som detta fungerar pålitligt: | |||
<pre> | <pre> | ||
| Rad 102: | Rad 86: | ||
j2& | j2& | ||
wait $p1 | wait $p1 | ||
echo " | echo "Jobb 1 avslutades med status $?" | ||
wait $! | wait $! | ||
echo " | echo "Jobb 2 avslutades med status $?" | ||
</pre> | </pre> | ||
== EXEMPEL == | == EXEMPEL == | ||
Exempel på att identifiera vilken signal som avslutade en process: | |||
<pre> | <pre> | ||
| Rad 132: | Rad 112: | ||
== MOTIVERING == | == MOTIVERING == | ||
''wait'' beskrivs inte i termer av funktionen ''waitpid()'' | ''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 == | == FRAMTIDA RIKTNINGAR == | ||
| Rad 142: | Rad 122: | ||
[[kill(1p)]], [[sh(1p)]], [[jobs(1p)]], [[bg(1p)]], [[fg(1p)]], [[sleep(1p)]]. | [[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''. | POSIX.1-2017: avsnitt 3.204 ''Job Control Job ID'', kapitel 8 ''Environment Variables''. | ||
Systemgränssnitt: [[wait(3p)]]. | |||
== COPYRIGHT == | == COPYRIGHT == | ||
Delar av denna text är återgiven från IEEE Std 1003.1-2017, | 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 | |||
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.