diff --git includes/exec.inc includes/exec.inc
index c2f17eb..516fdc8 100644
--- includes/exec.inc
+++ includes/exec.inc
@@ -120,10 +120,17 @@ function _drush_shell_exec($args, $interactive = FALSE) {
 
   if (!drush_get_context('DRUSH_SIMULATE')) {
     if ($interactive) {
-      $result = proc_open($command, array(0 => STDIN, 1 => STDOUT, 2 => STDERR), $pipes);
-      proc_close($result);
+      $resource = proc_open($command, array(0 => STDIN, 1 => STDOUT, 2 => STDERR), $pipes);
+
       // proc_open returns FALSE on failure, or a resource on success.
-      return ($result === FALSE) ? FALSE : TRUE;
+      if ($resource === FALSE) { 
+        return FALSE;
+      }
+      else {
+        $result = proc_close($rs);
+        drush_log(dt("Execution exited in status !result for command !command", array('!command' => $command, '!result' => $result)), 'debug');
+        return ($result === 0) ? TRUE : FALSE;
+      }
     }
     else {
       exec($command . ' 2>&1', $output, $result);
