diff --git a/supervisord.py b/supervisord.py
index c2ddfe9f6023720ad156ea4d87fd3ae7d5fb72d5_c3VwZXJ2aXNvcmQucHk=..1eb6ed25feb05fbd4d0cbfdde409cd4cf8612968_c3VwZXJ2aXNvcmQucHk= 100644
--- a/supervisord.py
+++ b/supervisord.py
@@ -495,7 +495,11 @@
         )
 
     def kill(self):
-        if self.process_is_stopped() or self.process_is_stopping():
+        if (
+            self.process_is_stopped()
+            or self.process_is_stopping()
+            or self.process_is_fatal()
+        ):
             return
 
         if self.process_is_backoff() or self.process_is_fatal():
@@ -935,7 +939,9 @@
     config.read_file(args.configuration)
     args.configuration.close()
 
-    nodaemon = config['supervisord'].getboolean('nodaemon', False) or args.nodaemon
+    nodaemon = (
+        config['supervisord'].getboolean('nodaemon', False) or args.nodaemon
+    )
     if not nodaemon and not is_deamon():
         usrdaemon = config['supervisord'].get('user', 'system')
         stdout_file = config['supervisord'].get('stdout_file', 'NLA0:')