ÈÌß
exit, _exit - çaâepøaþò ïpoöecc
ÑÈÍÒÀÊÑÈÑ
void exit(status) int status; void _exit(status) int status;
ÎÏÈÑÀÍÈÅ
exit çaâepøaeò òeêyùèé ïpoöecc. Bce ôaéëû, oòêpûòûe òeêyùèì
ïpoöeccoì, çaêpûâaþòcÿ.
Ecëè oòeö òeêyùeão ïpoöecca âûïoëíÿeò â äaííûé ìoìeíò cècòeìíûé âûçoâ wait, oí èçâeùaeòcÿ o çaâepøeíèè cûía è eìy ïepeäaþòcÿ ìëaäøèe 8 áèò (ò.e. áèòû 0377) status; cì. wait(3). Ecëè oòeö íe íaxoäèòcÿ â oæèäaíèè çaâepøeíèÿ cûía, còaòyc çaâepøeíèÿ áyäeò ïepeäaí eìy, êoãäa oí âûïoëíèò wait(3).
Ecëè oòeö òeêyùeão ïpoöecca íe âûïoëíÿeò ceé÷ac wait,
çaâepøeíèe òeêyùeão ïpoöecca áëoêèpyeòcÿ. Taêoé ïpoöecc
òoëüêo çaíèìaeò ìecòo â òaáëèöe ïpoöeccoâ è íe òpeáyeò äëÿ
ceáÿ íè÷eão â aäpecíûx ïpocòpaícòâax ÿäpa èëè ïoëüçoâaòeëÿ.
Çaíèìaeìoe èì ìecòo â òaáëèöe ïpoöeccoâ ìoæeò áûòü ÷acòè÷ío
çaíÿòo y÷eòíoé èíôopìaöèeé (cì. ID oòöa äëÿ âcex cûíoâeé òeêyùeão ïpoöecca è âcex ïpoöeccoâ,
çaâepøeíèe êoòopûx áëoêèpoâaío, còaíoâèòcÿ paâíûì 1. Ýòo
oçía÷aeò, ÷òo oíè còaëè ïoòoìêaìè èíèöèaëèçèpyþùeão ïpoöecca
(cì. intro(3)).
Kaæäûé ïpècoeäèíeííûé ê òeêyùeìy ïpoöeccy ceãìeíò
paçäeëÿeìoé ïaìÿòè oòcoeäèíÿeòcÿ, è çía÷eíèe shm_mattach â
cooòâeòcòâyþùeé còpyêòype äaííûx yìeíüøaeòcÿ ía 1.
Äëÿ êaæäoão ceìaôopa, y êoòopoão òeêyùèé ïpoöecc ycòaíoâèë
çía÷eíèe semadj (cì. semop(3)), çía÷eíèe semadj äoáaâëÿeòcÿ
ê çía÷eíèþ semval ýòoão ceìaôopa.
Ecëè òeêyùèé ïpoöecc èìeë áëoêèpoâaííûé â ïaìÿòè ceãìeíò
èícòpyêöèé, ceãìeíò äaííûx èëè oáa ceãìeíòa, âûïoëíÿeòcÿ
unlock (cì. plock(3)).
Ecëè äeécòâyeò cècòeìíûé y÷eò, â y÷eòíûé ôaéë áyäeò cäeëaía
çaïècü o çaâepøeíèè ïpoöecca; cì. acct(3).
Ecëè y òeêyùeão ïpoöecca eão ID, ID ãpyïïû ïpoöeccoâ è ID
òepìèíaëüíoé ãpyïïû coâïaäaþò, âceì ïpoöeccaì, èìeþùèì òaêoé
æe ID ãpyïïû ïpoöeccoâ, ïocûëaeòcÿ cèãíaë SIGHUP.
Bcòpoeííaÿ ôyíêöèÿ exit ìoæeò äeëaòü íeêoòopyþ
äoïoëíèòeëüíyþ ÷ècòêy cècòeìíûx òaáëèö ïepeä çaâepøeíèeì
ïpoöecca. Ôyíêöèÿ _exit oáxoäèò ýòè äeécòâèÿ è âûïoëíÿeò
òoëüêo òo, ÷òo yêaçaío âûøe.
ÑÌ. ÒÀÊÆÅ ÏPEÄYÏPEÆÄEÍÈE
acct(3), intro(3), plock(3), semop(3), signal(3), wait(3)
Cì. ïpeäyïpeæäeíèe â signal(3)