I'm trying to kill a system process (charger_manager) in Ubuntu. But however when I kill (as sudo) the process it is created back again.

Why does this happen? And how do I kill it permanently?

  • 1
    Use pstree to see what process is invoking it.
    – schaiba
    Sep 2, 2016 at 9:34
  • 2
    You can't kill kernel threads. If you don't want to have the charger_manager process, there's a workaround: you can build a custom kernel with the CHARGER_MANAGER config option set to N. Sep 2, 2016 at 16:00

2 Answers 2


charger_manager is being spawned by something else. So when it dies what ever is managing it notices and reruns it.

Modern init system can watch and restart processes on failure including systemd and upstart. If the service was started with one of them try stopping the service instead of killing it.

If it is a child of another process and not a direct child of your init system you will need to stop the parent, or possibly configure it to not start the child (if that is a feature of the parent). To find the parent you can look at the process tree with pstree or htop (press t or F5 to toggle tree view).


You can use the following command to delete it:

sudo kill -9 <pid>

But a system process will be created again, it might be because there's another process whose job it is to restart the service again if it crashes. So, you need to kill that other process first before you can kill the main process.

  • 1
    Blindly killing the restarter, without understanding what the restarter is, can have anything from undesirable to outright catastrophic consequences. The wise person finds out what the restarter is and how to command it to cease auto-restart.
    – JdeBP
    Sep 2, 2016 at 17:32

You must log in to answer this question.

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