12 lines
342 B
Swift
12 lines
342 B
Swift
|
|
import Foundation
|
||
|
|
|
||
|
|
extension Process {
|
||
|
|
/// Runs the process and drains the given pipe before waiting to avoid blocking on full buffers.
|
||
|
|
func runAndReadToEnd(from pipe: Pipe) throws -> Data {
|
||
|
|
try self.run()
|
||
|
|
let data = pipe.fileHandleForReading.readToEndSafely()
|
||
|
|
self.waitUntilExit()
|
||
|
|
return data
|
||
|
|
}
|
||
|
|
}
|