Zombie процессууд

Оруулсан бичлэгийг уншиж байна элав Форум дээр хэн нэгэн нь тэдний систем удаан байсан тул зарим шийдэл нь процесс дээр төвлөрч байсан тул тусламж хүсч байсныг би санаж байв.

Линукс дахь процессын гол төлөвүүд нь:
Унтах (S) : Гүйцэтгэх ээлжээ хүлээж буй процессууд.
Ажиллаж байна (R) : Ажиллаж байгаа процессууд.
Хүлээж байна (D) : Орох / гарах ажиллагаа дуусахыг хүлээж байгаа процессууд.
Зомби (Z) : Дууссан боловч процессын хүснэгтэд үргэлжлүүлэн харагддаг процессууд. Эдгээр нь програмчлалын алдаанаас үүдэлтэй бөгөөд удаан эсвэл асуудал үүсгэдэг системийн шинж тэмдэг байж болно.

Зомби процесс гэдэг нь үүнийг үүсгэсэн эцэг эхийн процессоос хэзээ ч дохио хүлээж авдаггүй процесс юм. Хүүхдийн процесс нь үүсгэсэн хүүхдийн процесст дохио илгээх үүрэгтэй эцэг эхийн процесс гэж нэрлэгддэг дээд түвшний процессоос эхтэй процесс юм. түүний ашиглалтын хугацаа дууссаныг илтгэх болно.

Эдгээр нь програмчлалын алдаанаас үүдэлтэй бөгөөд удаан эсвэл асуудал үүсгэдэг системийн шинж тэмдэг байж болно. Энэ нь ихэвчлэн зарим тохиргоог хөгжүүлэгч бодож үзээгүйгээс болдог.

Wikipedia дээр та чадна дэлгэрэнгүй унших эдгээр процессын талаар.

Дээд командыг ажиллуулснаар бид систем дээр хийгдэж буй процессуудыг бодит цаг хугацаанд харах боломжтой бөгөөд энэ нь зомби төлөвт байгаа эсэхийг харуулах боловч аль нь болохыг заагаагүй болно.

үйл явц

Бүх процессыг харахын тулд терминалыг бичнэ үү. ps aux, зөвхөн зомбиг харахын тулд: ps -el | grep 'Z'o ps -A -ostat, ppid, pid, cmd | grep -e '^ [Zz]'

alf @ Alf ~ $ ps -A -ostat, ppid, pid, cmd | grep -e '^ [Zz]'

Z 1945

Хэрэв үйл явцыг жагсаахад Z статустай гарч ирвэл энэ нь зомби гэсэн үг бөгөөд энэ нь тухайн програм нь сайн шийдэгдээгүй эсвэл алдаатай гэсэн үг бөгөөд түүний PID-ийг дараахтай ижил төстэй тушаалыг ажиллуулснаар устгаж болно. энэ жишээнд: 

alf @ Alf ~ $ алах -9 1945

Хэрэв та олон зомби процессуудтай эсвэл дор хаяж нэгээс олон тохиолдолд тэдгээрийг алах дараах командыг ашиглаж болно, энэ нь зөвхөн үр дүнд хүрнэ, хэрэв та үүнийг зомби процесс хийлгүйгээр ажиллуулбал юу ч болохгүй болно.

alf @ Alf ~ $ sudo kill -HUP `ps -A -ostat, ppid, pid, cmd | grep -e '^ [Zz]' | awk '{print $ 2}' ''

Баярлалаа!


Нийтлэлийн агуулга нь бидний зарчмуудыг баримталдаг редакцийн ёс зүй. Алдааны талаар мэдээлэхийн тулд товшино уу энд байна.

14 сэтгэгдэл, үлдээгээрэй

Сэтгэгдэлээ үлдээгээрэй

Таны и-мэйл хаяг хэвлэгдсэн байх болно.

*

*

  1. Мэдээллийг хариуцах: Мигель Анхель Гатан
  2. Мэдээллийн зорилго: СПАМ-ыг хянах, сэтгэгдлийн менежмент.
  3. Хууль ёсны байдал: Таны зөвшөөрөл
  4. Мэдээллийн харилцаа холбоо: Хуулийн үүргээс бусад тохиолдолд мэдээллийг гуравдагч этгээдэд дамжуулахгүй.
  5. Өгөгдөл хадгалах: Occentus Networks (ЕХ) -с зохион байгуулсан мэдээллийн сан
  6. Эрх: Та хүссэн үедээ мэдээллээ хязгаарлаж, сэргээж, устгаж болно.

  1.   зөв гэж хэлэв

    🙁

  2.   Оскар гэж хэлэв

    Баярлалаа, маш сайн хувь нэмэр оруулсан тул үе үе баталгаажуулах тушаалуудыг хадгалах болно.

  3.   Жош гэж хэлэв

    Баярлалаа, сайхан нийтлэл.

  4.   msx гэж хэлэв

    Таны нийтлэлтэй холбоотой хэд хэдэн тодруулга:

    "Zombie process" гэсэн нэр томъёо нь техникийн хувьд тохиромжгүй бөгөөд GNU / Linux-тэй бага зэрэг туршлагатай хүмүүс өөрсдөө ашиглах ямар ч процесс байхгүй тул үүнийг ашиглахаас зайлсхийх хэрэгтэй, гэхдээ энэ нь одоо байхгүй процессийн талаархи лавлагаа юм. систем бөгөөд тэр таних дугаараа гаргаагүй байна.

    "Зомби процесс" гэдэг нь үнэндээ процесс танигч (үйл явцын тодорхойлогч) -ын зураглалын хүснэгт дэх оруулга бөгөөд энэ нь процессын хүснэгтийг хянахын тулд систем ашигладаг цөөн хэдэн байт санах ойгоос хэтрэхгүй нөөцийг ашигладаггүй.

    Сүнс (эсвэл зомби) регистрийн тодорхойлогчтой холбоотой цорын ганц асуудал бол хэрэв эдгээр нь хурдан үржвэл тэд процессийн тодорхойлогчийн хуваарилалтын хүснэгтийг онолын хувьд бүхэлд нь эзэлж, системийг шинэ бичлэг хийх зайгүй үлдээх тул шинээр ажиллуулах боломжгүй болж магадгүй юм. програмууд - тэдгээрийн процессыг бүртгэдэг - эцэст нь машиныг өлгөх болно.

    Гэсэн хэдий ч энэ нь бараг боломжгүй юм, учир нь 32 битийн системд процессуудыг бүртгэх 32767 зай байдаг (ховор эсвэл огт ашигладаггүй), 64 битийн системд XNUMX дахин их байдаг.

    Үхсэн процессыг муу устгасан системийг лангуу болгох цорын ганц арга бол процессыг үүсгэж, процессын тодорхойлогчийг зөв цэвэрлэхгүйгээр (өөрөөр хэлбэл "зомби процесс" үүсгэх) хурдан устгах явдал юм. систем үүнээс хамаагүй илүү шууд арга замууд байдаг. системийг гацааж, гацах экспоненциал аргаар шинэ процессуудыг хурдан үүсгэж эхлэх; салаа бөмбөгөөр үүнийг хэрэгжүүлэх арга замуудын нэг:

    : () {: |: &};:

    /Etc/security/limits.conf тохиргоог зөв хийснээр та системийг сэрээтэй бөмбөгөнд харьцангуй тэсвэртэй болгож чадна, гэхдээ бид шинэ процесс үүсгэх боломжийг хязгаарлах тусам цөөн програм ажиллуулах боломжтой болно. Үүний зэрэгцээ энэ нь манай системд маш нарийн хяналт тавихыг хүсдэг бүх паранойд сисадминуудад зориулагдсан хүчин төгөлдөр хэрэгсэл юм.

    Энэ нийтлэл нь хүчингүй процессын тодорхойлогчийн талаар сайн мэдээлэлтэй байна.
    http://www.howtogeek.com/119815/htg-explains-what-is-a-zombie-process-on-linux/
    Энд сэрээтэй бөмбөг хэрхэн ажилладаг талаар тодорхой тайлбар байдаг. http://stackoverflow.com/questions/991142/how-does-this-bash-fork-bomb-work

    Salu2

    1.    Жотаэль гэж хэлэв

      msx: «“ Zombie process ”гэдэг нэр томъёо нь техникийн хувьд тохиромжгүй бөгөөд GNU / Linux дээр бага зэрэг туршлагатай хүмүүс бид үүнийг ашиглахаас зайлсхийх хэрэгтэй ...” Ха ха ха. Таны бардамналаас илүү агуу зүйл л байдаг: чиний муу амт. Хөөе, таны хийсэн зүйл маш муу амттай байна, хэрэв та лекц унших, факультетэд орох, эсвэл өөрийн блогоо оруулаад хүссэн зүйлээ бичихийг хүсч байгаа бол энд байрыг Альф руу сайн засахаар ирсэн нь үнэхээр муу амттай байна. .

      1.    Фернандо Рохас гэж хэлэв

        Үнэн надад нэлээд сонирхолтой тайлбар шиг санагдлаа. Бичлэгээс хамаагүй илүү зүйл

  5.   платонов гэж хэлэв

    маш сонирхолтой баярлалаа.

  6.   87 гэж хэлэв

    маш сайн нийтлэл баярлалаа

  7.   Альф гэж хэлэв

    msx
    «" Zombie process "гэсэн нэр томъёо нь техникийн хувьд тохиромжгүй тул GNU / Linux дээр бага зэрэг туршлагатай хүмүүс үүнийг ашиглахаас зайлсхийх хэрэгтэй»

    Зомби гэдэг нэр томъёо бас хэрэглэгддэг тул бид үүнийг хөгжүүлэгчдэд мэдэгдэх ёстой, би үүнийг консол дээр уншсан.

    Баярлалаа!

  8.   Citux гэж хэлэв

    Баяр хүргэе, маш сайн нийтлэл, би тэднийг PZ-тэй гэдэгт үргэлж эргэлздэг байсан боловч шалгаж үзээд амжаагүй байсан, одоо хуудас руугаа ороод хариуг нь олж авлаа.

  9.   22 гэж хэлэв

    KDE-т хяналт + зугтах системийн үйл ажиллагаа явагдаж, бид эдгээр зомбиг хурдан устгах боломжтой.

  10.   Rain гэж хэлэв

    Залруулга, энэ бол ZOMBIE биш ZOMBIE процесс юм
    Зомби англи хэл дээр байна
    Испани хэлээр Zombi

  11.   Элинкс гэж хэлэв

    Тансаг, баярлалаа!.

  12.   Roberto гэж хэлэв

    Нэгдүгээрт, зомби процесс гэдэг нэр томъёо нь бүрэн зөв юм шиг санагдаж байна. Энэ нэр томъёо нь хамгийн бага ач холбогдолтой юм.
    Үүний гол утга нь msx-ийн зааж байгаагаар ижил Википедиа (би нийтлэлийг уншсан) зомби процесс үнэхээр үхсэн байна.
    «Процесс дуусахад түүний бүх санах ой болон холбогдох нөөцийг бусад үйл явцад ашиглаж болохуйцаар ялган үлдээнэ. Ямар ч байсан процессын хүснэгт дэх процессын оруулга хэвээр байна »
    Өөрөөр хэлбэл, процесс нь системийн нөөцийг ашиглахаа больсон тул msx-ийн тайлбарласнаар систем дээрх ачаалал хамгийн бага байна.
    Гэсэн хэдий ч түүнд байгаа цорын ганц зүйл бол процессын хүснэгтэд оруулсан хүчингүй оруулга юм ... хэрэв тэдгээр нь олон мянган хүн байвал энэ нь ачаалал байж магадгүй юм (эцэст нь процессор процессын хүснэгтийг унших ёстой бөгөөд энэ нь маш их ашиггүй мэдээлэл) програмчлалын муу туршлагыг тусгахаас гадна (хэн нэгэн муу хийсэн програм хийж байна).
    Гэхдээ энэ бичлэгийн тайлбар нь өөрөө тийм ч зөв биш бөгөөд зөв нь msx-ийн өгсөн тайлбар байх болно.