1.9 进程pid,运行耗时 运行退出状态

package main

import (
	"fmt"
	"os/exec"
	"runtime"
	"time"
)

func main() {

	var cmd string
	if runtime.GOOS == "windows" {
		cmd = "timeout"
	} else {
		cmd = "sleep"
	}

	proc := exec.Command(cmd, "1")
	proc.Start()

	// Wait function will
	// wait till the process ends.
	proc.Wait()

	// After the process terminates
	// the *os.ProcessState contains
	// simple information
	// about the process run
	fmt.Printf("PID: %d\n", proc.ProcessState.Pid())
	fmt.Printf("Process took: %dms\n", proc.ProcessState.SystemTime()/time.Microsecond)
	fmt.Printf("Exited sucessfuly : %t\n", proc.ProcessState.Success())
}

/*
PID: 6337
Process took: 755ms
Exited sucessfuly : true
*/
package main

import (
	"fmt"
	"os/exec"
	"runtime"
)

func main() {

	var cmd string
	if runtime.GOOS == "windows" {
		cmd = "timeout"
	} else {
		cmd = "sleep"
	}
	proc := exec.Command(cmd, "1")
	proc.Start()

	// No process state is returned
	// till the process finish.
	fmt.Printf("Process state for running process: %v\n", proc.ProcessState)

	// The PID could be obtain
	// event for the running process
	fmt.Printf("PID of running process: %d\n\n", proc.Process.Pid)
}

/*
Process state for running process: <nil>
PID of running process: 6410

*/

posted on 2018-03-17 22:42  cucy_to  阅读(143)  评论(0编辑  收藏  举报

导航