Skip to content

Killing Linux Zombie Processes

Tips
  • Periodically, when logging into any Linux based server, you may be met with the below

    32fbb04c-7cf3-4c4a-92df-7c62748f7d07-image.png

    In a typical Linux scenario, a process (or sub process) notifies its parent when it has completed its execution and has exited. The parent process should remove the process from process table. However, if the parent process is unable to read the process status from its child (the completing process or sub process), it won’t be able to remove the this from memory which causes the supposedly dead process to still continue to exist in the process table. The end result of this issue is a “zombie process” - one that has no reason to be running, and should have been terminated.

    Before you can terminate a process, you need to be able to identify it. Run the below in the terminal

    ps aux | egrep "Z|defunct"
    

    Here’s the result

    20274412-e1e1-4ddb-8a94-a659a649c21b-image.png

    Now, you can’t actually “kill” something that is already dead, but you can notify the parent process that it should check again to see if the sub or child process is still running or not

    ps -o ppid= <Child PID>
    

    As an example

    e4df563a-8b5d-4f27-b6db-dd7810fd0689-image.png

    This tells us that the process ID we need to target is 55496. Based on this, we then use

    kill -s SIGCHLD <Parent PID>
    

    49de9c15-e0d1-4077-bab0-801cc13a5c4e-image.png

    And with all the commands together

    5ccb9788-d260-483b-90eb-506ab28c4091-image.png

    Now run

    ps aux | egrep "Z|defunct"
    

    If you still see zombie processes, you’ll need to target the parent process. Please be aware that killing a parent process will automatically kill all child processes, so use with caution.

    21d7cfad-46e9-4638-89e0-32233d7168ad-image.png

    kill -9 <Parent PID>
    

    a4846b3f-fe78-43a2-8169-21e84c181735-image.png

  • @phenomlab

    I test to kill a zombie process on SSH

    ps -o ppid= <Child PID>
    

    the command does not return me any parent process

    167fb778-eb83-49e5-a5a5-45ce03e87504-image.png

    EDIT: Strange things

    When I log into SSH I see the zombie process message

    e26541d3-4fe6-4345-a0ac-aa8e8eb6dd27-image.png

    but not in top :

    3198cec2-e888-4542-9ca9-598803657d58-image.png

    And the zombie process number change with each order cli commands :

    593e5a88-b108-4f56-bf30-e2e4af9346c2-image.png

  • @phenomlab

    I test to kill a zombie process on SSH

    ps -o ppid= <Child PID>
    

    the command does not return me any parent process

    167fb778-eb83-49e5-a5a5-45ce03e87504-image.png

    EDIT: Strange things

    When I log into SSH I see the zombie process message

    e26541d3-4fe6-4345-a0ac-aa8e8eb6dd27-image.png

    but not in top :

    3198cec2-e888-4542-9ca9-598803657d58-image.png

    And the zombie process number change with each order cli commands :

    593e5a88-b108-4f56-bf30-e2e4af9346c2-image.png

    @DownPW odd indeed. Looks like it’s spawning, immediately dying, then spawning again.


Related Topics
  • Arch Linux | KDE Plasma Guide

    Moved Guides
    3
    1 Votes
    3 Posts
    132 Views
    @phenomlab you are very welcome. I have bookmarks but it is also nice to have this info out there for other people to use as well, and also a place I can go to grab it again if I lose my bookmarks haha
  • Linux on a Stick

    Linux
    12
    8 Votes
    12 Posts
    242 Views
    I was able to also install Steam and play a game. I also was able to install a game my daughter and I play and Minecraft. They all worked without a hitch. The only thing is that you can’t play Bedrock version on Linux. I wish MS would get their heads out of their arses and make it so you can. I only say that because my daughter like the Bedrock version and the laptop she uses will have to be switched over to Linux as well.
  • Arch Server Progress

    Chitchat
    26
    16 Votes
    26 Posts
    453 Views
    @phenomlab said in Arch Server Progress: @Madchatthew it really is a great product - you cannot argue that. 100% agree!
  • Rename videos in bulk - linux commands

    Unsolved Tips
    12
    4 Votes
    12 Posts
    749 Views
    @Hari Yes, that’s one (of many) I would recommend. It’s going to be easier to do this under Windows and the fact that you are already connected using SMB is a huge plus.
  • 1 Votes
    3 Posts
    405 Views
    @Panda said in Wasting time on a system that hangs on boot: Why do you prefer to use KDE Linux distro, over say Ubuntu? A matter of taste really. I’ve tried pretty much every Linux distro out there over the years, and whilst I started with Ubuntu, I used Linux mint for a long time also. All of them are Debian backed anyway I guess I feel in love with KDE (Neon) because of the amount of effort they’d gone to in relation to the UI. I agree about the lead and the OS statement which is why I suspect that Windows simply ignored it (although the Device also worked fine there, so it clearly wasn’t that faulty)
  • Is plesk good over virtual min?

    Solved Linux
    6
    4 Votes
    6 Posts
    676 Views
    @phenomlab thank you
  • SASL LOGIN authentication failed: generic failure

    Moved Solved Linux
    5
    0 Votes
    5 Posts
    1k Views
    @Ash3T I’m going to mark this post as solved as I’ve not heard from you in a while. Let me know if this isn’t the case and you need more help.
  • 2 Votes
    28 Posts
    3k Views
    @phenomlab said in Advantages and disadvantages of changing to Ubuntu?: @jac Yeah, I wouldn’t just leap into it unless you have a valid reason (such as the laptop no longer working and needing to be reinstalled). Probably better the devil you know currently. Absolutely mate, and generally as discussed that is the only time I have changed over to Ubuntu once the laptop has got slower. For now I will carry on with Windows, purchase the VPN & BitDefender in later October / early November and then see how all that runs for a few more months .