Operations Related to the Subprocess
The following is an example of operations related to the subprocess. The following example is not supported on Windows.
Code:
import std.process.*
import std.io.*
import std.fs.*
//The following uses Linux commands as an example. The /root/code/Process/test directory needs to be created in advance.
main(): Int64 {
let sleepProcess: SubProcess = launch("sleep", "10s", workingDirectory: Path("/root/code/Process/test"))
println(sleepProcess.pid)
println(sleepProcess.name)
println(sleepProcess.command)
sleepProcess.terminate(force: true)
let rtnCode = sleepProcess.wait()
println("sleepProcess rtnCode: ${rtnCode}")
let echoProcess: SubProcess = launch("echo", "hello cangjie!", stdOut: ProcessRedirect.Pipe)
let strReader: StringReader<InputStream> = StringReader(echoProcess.stdOutPipe)
println(strReader.readToEnd())
return 0
}
Results:
65953
sleep
sleep
sleepProcess rtnCode: 9
hello cangjie!