I have a zombie process that I am trying to investigate.

When a process dies on Linux, it isn’t all removed from memory immediately — its process descriptor stays in memory (the process descriptor only takes a tiny amount of memory). The process’s status becomes EXIT_ZOMBIE and the process’s parent is notified that its child process has died with the SIGCHLD signal. The parent process is then supposed to execute the wait() system call to read the dead process’s exit status and other information. This allows the parent process to get information from the dead process. After wait() is called, the zombie process is completely removed from memory.

This normally happens very quickly, so you won’t see zombie processes accumulating on your system. However, if a parent process isn’t programmed properly and never calls wait(), its zombie children will stick around in memory until they’re cleaned up.

Source: https://www.howtogeek.com/119815/htg-explains-what-is-a-zombie-process-on-linux/

It is present after each reboot or startup.

andy      1235  0.0  0.0      0     0 ?        Z    07:25   0:00 [xbrlapi] <defunct>

Process id is 1235.

Is there a way to determine what process or program is causing it?


1 Answer 1


From what is presumably your top output: xbrlapi

Access software for a blind person using a braille display - xbrlapi

That seems to be the cause.

  • 1
    Removed xbrlapi. Problem solved. @DK Bose
    – fixit7
    Sep 6, 2018 at 15:26
  • Welcome! Next time you want to show top data, you can run top -bn1 > top.txt. Then you can edit top.txt to have only the lines you want before posting here. Including the header row will make things easier to analyze.
    – DK Bose
    Sep 6, 2018 at 15:29
  • Ok. Is the header row the one with PID, user, etc?
    – fixit7
    Sep 6, 2018 at 17:05
  • Yes, including that would give context to the output you provided.
    – DK Bose
    Sep 6, 2018 at 17:17

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .