Monday, October 02, 2006

Zombie процесс хайх

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

Процессын төлөв нь дараах утгуудтай байна.

S : sleeping - хүлээлтийн горимд
R : running - ажиллаж буй горимд
D : waiting (over het algemeen voor IO)
T : gestopt (suspended) of getrasseerd
Z : zombie (defunct) - үхмэл төлөвт

Иймээс үхмэл процессыг уг төлөвөөр хайн олох комманд:

ps -el | grep 'Z' /* Z төлөвтэй бүх процессыг лист хийх */

Үүний дараа таны системд үхмэл процесс байгаа бол дараахтай адил гаралт харагдана.

[root@s324 /]# ps -el | grep 'Z'
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
1 Z 0 1213 589 0 75 0 - 0 funct> ? 00:00:00 dovecot-auth

Мөн үхмэл процесс нь жижиг z үсгээр эхлэсэн байж ч болох юм. Тэгвэл:

ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'

Уг комманд нь процессын төлөв (ostat), эцэг процессын дугаар (ppid), өөрийн дугаар (pid), процессыг үүсгэсэн комманд гэсэн багануудаар Z болон z үсэгээр эхлэсэн процессуудын жагсаалтыг харна.

Тухайн үхмэл процессыг дахин эхлүүлэх:

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

Өмнөх коммадын гаралт дээр awk коммандаар 2-р баганы утгыг гарган kill -HUP коммандыг аргументэд өгснөөр тухайн үхмэл процессыг дахин эхлүүлнэ.



Бичлэг таалагдсан бол сурталчилгаан дээр +1 дарж тус хүргээрэй ;)

0 Comments:

blogger templates | Make Money Online