diff --git a/client/common_lib/site_utils.py b/client/common_lib/site_utils.py
index fe612b2..352ee43 100644
--- a/client/common_lib/site_utils.py
+++ b/client/common_lib/site_utils.py
@@ -290,13 +290,13 @@
                 # The process may have died from a previous signal before we
                 # could kill it.
                 pass
+        if sig == signal.SIGKILL:
+            return sig_count
         pid_list = [pid for pid in pid_list if base_utils.pid_is_alive(pid)]
         if not pid_list:
             break
         time.sleep(CHECK_PID_IS_ALIVE_TIMEOUT)
     failed_list = []
-    if signal.SIGKILL in signal_queue:
-        return sig_count
     for pid in pid_list:
         if base_utils.pid_is_alive(pid):
             failed_list.append('Could not kill %d for process name: %s.' % pid,
diff --git a/scheduler/drone_utility.py b/scheduler/drone_utility.py
index 489c358..dfb4905 100755
--- a/scheduler/drone_utility.py
+++ b/scheduler/drone_utility.py
@@ -226,12 +226,11 @@
         kill_proc_key = 'kill_processes'
         stats.Gauge(_STATS_KEY).send('%s.%s' % (kill_proc_key, 'net'),
                                      len(process_list))
-        signal_queue = (signal.SIGCONT, signal.SIGTERM, signal.SIGKILL)
         try:
             logging.info('List of process to be killed: %s', process_list)
             sig_counts = utils.nuke_pids(
-                            [process.pid for process in process_list],
-                            signal_queue=signal_queue)
+                            [-process.pid for process in process_list],
+                            signal_queue=(signal.SIGKILL,))
             for name, count in sig_counts.iteritems():
                 stats.Gauge(_STATS_KEY).send('%s.%s' % (kill_proc_key, name),
                                              count)
