diff --git a/Modules/Battery/readers.swift b/Modules/Battery/readers.swift index ecca47de..b3be2e76 100644 --- a/Modules/Battery/readers.swift +++ b/Modules/Battery/readers.swift @@ -158,6 +158,11 @@ public class ProcessReader: Reader<[TopProcess]> { self.popup = true let pipe = Pipe() + + defer { + pipe.fileHandleForReading.closeFile() + } + self.task.standardOutput = pipe self.task.launchPath = "/usr/bin/top" self.task.arguments = ["-o", "power", "-n", "\(self.numberOfProcesses)", "-stats", "pid,command,power"] diff --git a/Modules/CPU/readers.swift b/Modules/CPU/readers.swift index ad7ff9a5..5832b80d 100644 --- a/Modules/CPU/readers.swift +++ b/Modules/CPU/readers.swift @@ -176,6 +176,11 @@ public class ProcessReader: Reader<[TopProcess]> { let outputPipe = Pipe() let errorPipe = Pipe() + defer { + outputPipe.fileHandleForReading.closeFile() + errorPipe.fileHandleForReading.closeFile() + } + task.standardOutput = outputPipe task.standardError = errorPipe diff --git a/Modules/Net/readers.swift b/Modules/Net/readers.swift index 866af8cf..bb92fe7c 100644 --- a/Modules/Net/readers.swift +++ b/Modules/Net/readers.swift @@ -135,6 +135,11 @@ internal class UsageReader: Reader { let outputPipe = Pipe() let errorPipe = Pipe() + defer { + outputPipe.fileHandleForReading.closeFile() + errorPipe.fileHandleForReading.closeFile() + } + task.standardOutput = outputPipe task.standardError = errorPipe @@ -299,6 +304,11 @@ public class ProcessReader: Reader<[Network_Process]> { let outputPipe = Pipe() let errorPipe = Pipe() + defer { + outputPipe.fileHandleForReading.closeFile() + errorPipe.fileHandleForReading.closeFile() + } + task.standardOutput = outputPipe task.standardError = errorPipe diff --git a/Modules/RAM/readers.swift b/Modules/RAM/readers.swift index a4ab05c4..e2e39a09 100644 --- a/Modules/RAM/readers.swift +++ b/Modules/RAM/readers.swift @@ -120,6 +120,11 @@ public class ProcessReader: Reader<[TopProcess]> { let outputPipe = Pipe() let errorPipe = Pipe() + defer { + outputPipe.fileHandleForReading.closeFile() + errorPipe.fileHandleForReading.closeFile() + } + task.standardOutput = outputPipe task.standardError = errorPipe diff --git a/StatsKit/SystemKit.swift b/StatsKit/SystemKit.swift index 2eb26354..53cd59eb 100644 --- a/StatsKit/SystemKit.swift +++ b/StatsKit/SystemKit.swift @@ -304,6 +304,11 @@ public class SystemKit { let outputPipe = Pipe() let errorPipe = Pipe() + defer { + outputPipe.fileHandleForReading.closeFile() + errorPipe.fileHandleForReading.closeFile() + } + task.standardOutput = outputPipe task.standardError = errorPipe