Ito ang command waitposix na maaaring patakbuhin sa OnWorks free hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator
PROGRAMA:
NAME
maghintay - maghintay sa pagkumpleto ng proseso
SINOPSIS
maghintay [pid...]
DESCRIPTION
Kapag ang isang asynchronous na listahan (tingnan seksyon 2.9.3.1, Mga halimbawa) ay sinimulan ng shell, ang
ang process ID ng huling command sa bawat elemento ng asynchronous na listahan ay dapat malaman
sa kasalukuyang kapaligiran ng pagpapatupad ng shell; tingnan mo seksyon 2.12, Talukap ng alimango Pagpapatupad kapaligiran.
Kung ang maghintay Ang utility ay ginagamit nang walang mga operand, ito ay maghihintay hanggang sa malaman ang lahat ng mga ID ng proseso
sa invoking shell ay natapos at lumabas na may zero exit status.
Kung isa o higit pa pid tinukoy ang mga operand na kumakatawan sa mga kilalang process ID, ang maghintay
maghihintay ang utility hanggang sa matapos ang lahat. Kung isa o higit pa pid ang mga operand ay
tinukoy na kumakatawan sa mga hindi kilalang process ID, maghintay tratuhin sila na parang kilala sila
iproseso ang mga ID na lumabas na may exit status 127. Ang exit status ay ibinalik ng maghintay kagamitan
ang magiging exit status ng proseso na hiniling ng huli pid operand.
Ang mga kilalang process ID ay naaangkop lamang para sa mga invocation ng maghintay sa kasalukuyang shell
kapaligiran ng pagpapatupad.
Opsyon
Wala.
MGA OPERAND
Ang sumusunod na operand ay dapat suportahan:
pid Isa sa mga sumusunod:
1. Ang unsigned decimal integer process ID ng isang command, kung saan ang utility
ay maghintay para sa pagwawakas.
2. Isang job control job ID (tingnan ang Base Definitions volume ng POSIX.1‐2008,
seksyon 3.204, Trabaho Kontrolin Trabaho ID) na tumutukoy sa isang proseso sa background
grupong dapat hintayin. Ang notasyon ng job control job ID ay naaangkop lamang
para sa mga invocation ng maghintay sa kasalukuyang kapaligiran ng pagpapatupad ng shell; tingnan mo
seksyon 2.12, Talukap ng alimango Pagpapatupad kapaligiran. Ang katayuan ng paglabas ng maghintay ay magiging
tinutukoy ng huling utos sa pipeline.
tandaan: Ang job control job ID type ng pid ay magagamit lamang sa mga system
pagsuporta sa opsyong User Portability Utilities.
STDIN
Hindi ginagamit.
INPUT MGA FILE
Wala.
Kapaligiran MGA VARIABLE
Ang mga sumusunod na variable ng kapaligiran ay dapat makaapekto sa pagpapatupad ng maghintay:
WIKA Magbigay ng default na halaga para sa mga variable ng internationalization na hindi nakatakda o
wala. (Tingnan ang dami ng Base Definition ng POSIX.1–2008, seksyon 8.2,
internationalization Variable para sa pangunguna sa internasyonalisasyon
mga variable na ginagamit upang matukoy ang mga halaga ng mga lokal na kategorya.)
LC_ALL Kung nakatakda sa isang walang laman na halaga ng string, i-override ang mga halaga ng lahat ng iba pa
mga variable ng internasyonalisasyon.
LC_CTYPE Tukuyin ang lokal para sa interpretasyon ng mga pagkakasunud-sunod ng mga byte ng data ng teksto
bilang mga character (halimbawa, single-byte kumpara sa multi-byte na character sa
mga argumento).
LC_MESSAGES
Tukuyin ang lokal na dapat gamitin upang makaapekto sa format at mga nilalaman ng
mga mensaheng diagnostic na nakasulat sa karaniwang error.
NLSPATH Tukuyin ang lokasyon ng mga katalogo ng mensahe para sa pagproseso ng LC_MESSAGES.
ASYNCHRONOUS KAGANAPAN
Default.
STDOUT
Hindi ginagamit.
STDERR
Ang karaniwang error ay dapat gamitin lamang para sa mga diagnostic na mensahe.
oUTPUT MGA FILE
Wala.
LALAKI DESCRIPTION
Wala.
EXIT STATUS
Kung ang isa o higit pang mga operand ay tinukoy, lahat ng mga ito ay winakasan o hindi kilala ni
ang invoking shell, at ang status ng huling tinukoy na operand ay kilala, pagkatapos ay ang exit
katayuan ng maghintay ay ang impormasyon sa katayuan ng paglabas ng utos na ipinahiwatig ng huli
tinukoy ng operand. Kung ang proseso ay natapos nang abnormal dahil sa pagtanggap ng signal,
ang exit status ay dapat na higit sa 128 at dapat na naiiba sa exit status
nabuo ng iba pang mga signal, ngunit ang eksaktong halaga ay hindi natukoy. (Tingnan ang pumatay −l opsyon.)
Kung hindi man, ang maghintay lalabas ang utility na may isa sa mga sumusunod na halaga:
0 Ang maghintay na-invoke ang utility nang walang mga operand at lahat ng process ID na kilala ng
ang invoking shell ay natapos na.
1–126 Ang maghintay may nakitang error ang utility.
127 Ang utos na kinilala ng huli pid hindi alam ang tinukoy na operand.
Mga kahihinatnan OF MGA KAMALI
Default.
Ang sumusunod seksyon ay nagbibigay-kaalaman.
APLIKASYON PAGGAMIT
Sa karamihan ng mga pagpapatupad, maghintay ay isang shell built-in. Kung ito ay tinatawag sa isang subshell o
hiwalay na kapaligiran sa pagpapatupad ng utility, tulad ng isa sa mga sumusunod:
(maghintay)
nohup maghintay ...
mahanap . −exec maghintay ... \;
babalik agad ito dahil walang alam na mga process ID na hihintayin sa mga iyon
mga kapaligiran.
Ang mga makasaysayang pagpapatupad ng mga interactive na shell ay itinapon ang exit status ng
winakasan ang mga proseso sa background bago ang bawat prompt ng shell. Samakatuwid, ang katayuan ng
Ang mga proseso sa background ay karaniwang nawala maliban kung ito ay natapos habang maghintay ay naghihintay para dito.
Ito ay maaaring isang seryosong problema kapag ang isang trabaho na inaasahang tatakbo nang mahabang panahon
talagang mabilis na natapos na may syntax o error sa pagsisimula dahil ang exit status
ang ibinalik ay karaniwang zero kung ang hiniling na process ID ay hindi nakita. Ang dami na ito ng
Ang POSIX.1‐2008 ay nangangailangan ng pagpapatupad upang mapanatiling available ang katayuan ng mga tinapos na trabaho
hanggang sa hiniling ang katayuan, upang ang mga script ay tulad ng:
j1&
p1=$!
j2&
maghintay $p1
miss Trabaho 1 lumabas sa katayuan $?
maghintay $!
miss Trabaho 2 lumabas sa katayuan $?
magtrabaho nang hindi nawawala ang katayuan sa alinman sa mga trabaho. Pinapayagan ang shell na itapon ang katayuan
ng anumang proseso kung matukoy nito na hindi makuha ng application ang process ID para doon
proseso mula sa shell. Kinakailangan din na tandaan lamang ang {CHILD_MAX} bilang ng
mga proseso sa ganitong paraan. Dahil ang tanging paraan upang makuha ang proseso ng ID mula sa shell ay sa pamamagitan ng paggamit
ang '!' parameter ng shell, pinapayagan ang shell na itapon ang status ng isang asynchronous
ilista kung "$!" ay hindi na-reference bago nagsimula ang isa pang asynchronous na listahan. (Ibig sabihin nito
na kailangan lang panatilihin ng shell ang katayuan ng huling asynchronous na listahan kung nagsimula ang
hindi sumangguni ang aplikasyon "$!". Kung ang pagpapatupad ng shell ay sapat na matalino upang
matukoy na isang reference sa "$!" ay hindi na-save saanman na magagawa ng application
kunin ito sa ibang pagkakataon, maaari nitong gamitin ang impormasyong ito upang i-trim ang listahan ng mga naka-save na impormasyon. Tandaan
din na isang matagumpay na tawag sa maghintay na walang operand ay itinatapon ang exit status ng lahat
mga asynchronous na listahan.)
Kung ang exit status ng maghintay ay higit sa 128, walang paraan para sa aplikasyon
malaman kung ang hinihintay na proseso ay lumabas na may ganoong halaga o napatay ng isang senyales. Since
karamihan sa mga utility ay lumalabas na may maliliit na halaga, bihira ang anumang kalabuan. Kahit sa
hindi maliwanag na mga kaso, karamihan sa mga aplikasyon ay kailangan lang malaman na ang asynchronous na trabaho ay nabigo; ito
hindi mahalaga kung may nakita itong error at nabigo o napatay at hindi nakumpleto
normal ang trabaho nito.
HALIMBAWA
Bagama't ang eksaktong halaga na ginamit kapag ang isang proseso ay tinapos ng isang signal ay hindi tinukoy, kung
ito ay kilala na ang isang signal ay nagwakas ng isang proseso, ang isang script ay maaari pa ring mapagkakatiwalaan na matukoy
aling signal sa pamamagitan ng paggamit pumatay tulad ng ipinapakita ng sumusunod na script:
matulog 1000 &
pid=$!
pumatay −pumatay $pid
maghintay $pid
miss $pid ay tinapos na by a SIG$(patayin −l $?) signal.
Kung ang sumusunod na pagkakasunud-sunod ng mga utos ay tatakbo nang wala pang 31 segundo:
matulog 257 | matulog 31 &
trabaho −l %%
alinman sa mga sumusunod na command ay nagbabalik ng exit status ng pangalawa matulog nasa
pipeline:
maghintay <pid of matulog 31>
maghintay %%
RATIONALE
Ang paglalarawan ng maghintay ay hindi tumutukoy sa waitpid() function mula sa System
Dami ng mga interface ng POSIX.1‐2008 dahil hindi na kailangang magspecify nito
interface. Gayunpaman, ang mga salita ay nangangahulugan na maghintay ay kinakailangang maghintay para sa isang tahasang
proseso kapag binigyan ito ng argumento upang ang impormasyon ng katayuan ng iba pang mga proseso ay
hindi nauubos. Ginagamit ng mga makasaysayang pagpapatupad ang maghintay() function na tinukoy sa System
Dami ng mga interface ng POSIX.1‐2008 hanggang maghintay() ibinabalik ang hiniling na process ID o hinahanap
na ang hiniling na proseso ay hindi umiiral. Dahil ito ay nangangahulugan na ang isang shell script ay maaaring
hindi mapagkakatiwalaang makuha ang katayuan ng lahat ng mga bata sa background kung nagkaroon ng pangalawang trabaho sa background
nagsimula bago matapos ang unang trabaho, inirerekomenda na ang maghintay paggamit ng utility a
paraan tulad ng functionality na ibinigay ng waitpid() function.
Ang kakayahang maghintay para sa maramihang pid Ang mga operand ay pinagtibay mula sa KornShell.
Ang bagong functionality na ito ay idinagdag dahil ito ay kinakailangan upang matukoy ang exit status ng alinman
tumpak na listahan ng asynchronous. Ang tanging problema sa compatibility na nililikha ng pagbabagong ito ay
para sa isang script tulad ng
habang matulog 60 do
trabaho& miss Trabaho Nagsimula $(petsa) as $! tapos
na nagiging sanhi ng shell upang masubaybayan ang lahat ng mga trabaho na nagsimula hanggang sa ang script ay magwawakas o
nauubusan ng memorya. Hindi ito magiging problema kung hindi sumangguni ang loop "$!" o kaya
ang script ay paminsan-minsan maghintay para sa mga trabahong sinimulan.
PAGTATAYA DIREKSYON
Wala.
Gumamit ng waitposix online gamit ang mga serbisyo ng onworks.net