GRIDINSOFT HELP CENTER

Zombie Process - what it is, why it happens, and quick fixes

What it is

A zombie process (also called defunct) is a program that already finished, but a tiny entry is still stuck in the system’s process list. This happens mostly on Linux/macOS when a “child” program ends and its “parent” hasn’t picked up the “I’m done” message yet. Zombies don’t use CPU and barely any memory—they just take a slot until they’re cleaned up.

Why it matters

One or two zombies aren’t a problem. If you see lots of them, it usually means an app is a bit buggy, and in extreme cases it can clutter the system so new processes are harder to manage.

How it works 

  • Parent starts child: an app launches a helper program.

  • Child finishes: it exits and leaves an exit status behind.

  • Waiting to be “reaped”: the parent is supposed to collect that status.

  • Zombie state: until the parent collects it, the finished child shows as defunct (Z).

  • Auto-clean: if the parent app closes, the system usually cleans up the zombie.

Red flags

  • In top/ps you see processes marked Z or defunct.

  • Many zombies all tied to the same app.

  • An app that spawns helpers (converters, renderers, plugins) keeps “leaking” zombies.

Quick fixes (for everyone)

  • Just a few? Ignore them—they’ll often clear on their own.

  • Many from one app? Close and reopen that app, or restart the computer.

  • Happens often? Update the app and your OS; report the bug to the app’s support.

For power users (optional)

  • Find the parent with ps -o ppid= -p <zombie_pid> and restart that parent process.

  • Developers: handle SIGCHLD and call wait()/waitpid() so children are reaped correctly.

Helpful?

Glossary (A-Z)

Still can’t find an answer?

Send us a ticket and we will get back to you.

Submit a ticket