         }
     }
 
+    deinit {
+        self.process.terminate()
+    }
+
     public convenience init(_ command: [String], captureOutput: Bool = true) {
         self.init(command, parentCommand: nil, captureOutput: captureOutput)
     }

        return self.command.joined(separator: " ")
    }
}
#endif


    @discardableResult
    public func execute() throws -> String {
        self.startExecution()

        self.process.waitUntilExit()

