Junior — Middle
Ինչպե՞ս կարելի է ավարտել կամ հարկադրաբար կանգնեցնել օպերացիոն համակարգում զոմբի-գործընթացը։
sobes.tech AI
Պատասխան AI-ից
Զոմբի պրոցեսը այն պրոցեսն է, որը ավարտվել է, բայց նրա ծնողական պրոցեսը դեռ չի կարդացել ավարտման վիճակը (չի կանչել wait): Սիստեմում այն զբաղեցնում է պրոցեսների աղյուսակում գրառում, բայց չի օգտագործում CPU ռեսուրսներ:
Անհնար է ուղղակիորեն ուժեղացնել զոմբի պրոցեսը, քանի որ այն արդեն ավարտվել է: Զոմբիից ազատվելու համար անհրաժեշտ է՝
- Ավարտել կամ վերագործարկել ծնողական պրոցեսը, որը չի կանչել wait: Այդ դեպքում init (PID 1) կդառնա զոմբի նոր ծնողը և ավտոմատ կերպով կանչի wait, մաքրելով այն:
- Ուղարկել SIGCHLD նշան ծնողական պրոցեսին, որպեսզի այն մշակի երեխաների ավարտման վիճակը:
Նմուշ հրամանի համար՝
kill -s SIGCHLD <PID_ծնող>
Եթե ծնողը չի արձագանքում, կարելի է այն ավարտել՝
kill -9 <PID_ծնող>
Այդ ժամանակ init-ը կվերցնի և մաքրի զոմբին։