Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
When I type top in my terminal, I see a process with status "D" (Dead?) and one with "Z" (Zombie?). What does these two mean exactly? And how are they different?
I then want to kill them. So I type "kill (PID of those 2 processes)". But when I top again, I still see these 2 processes, with the same PID! I tried many times to kill them by using the "kill" command as well as typing "k" in top, but none can help me to kill the processes. What should I do? I just want those 2 processes being killed!
A 'D' process in top is not dead; it's a process that's using hardware (the 'D' stands for 'disk', but it could actually be using the network card or any number of other hardware devices instead).
All processes (either programs or threads) are started by another process, which is called its parent. If a process outlives its parent, then it is called a zombie. Zombies are not by definition a bad thing to have, but most programs will tidy up their child processes when the exit, so zombies are worth looking into if they hang around.
If kill -9 doesn't kill the process, nothing will.
It means that the process has some resources open, and won't close them, so the scheduler cannot remove it. This is most likely caused by a bug in some kernel module. Very occasionally, there are ways to forcibly remove resources, eg by unmounting a filesystem the program is holding open, but this relies on knowing what the resource is.
You can sometimes find relevant error messages in /var/log/messages, or by running dmesg, but sometimes not.
The best thing to do, unless you can find a way to diagnose the problem further, is to upgrade your kernel as soon as upgrades become available on your system.
If you do find more information, then report it to the maintainers of your distribution, and they will fix it in a later kernel release; by upgrading you are hoping that someone else has had the same problem (possibly with different symptoms) and tracked it down.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.