github.com/gogf/gf@v1.16.9/.example/os/gproc/gproc.go (about)

     1  package main
     2  
     3  import (
     4  	"os"
     5  	"time"
     6  
     7  	"github.com/gogf/gf/os/glog"
     8  	"github.com/gogf/gf/os/gproc"
     9  )
    10  
    11  // 父子进程基本演示
    12  func main() {
    13  	if gproc.IsChild() {
    14  		glog.Printf("%d: Hi, I am child, waiting 3 seconds to die", gproc.Pid())
    15  		time.Sleep(time.Second)
    16  		glog.Printf("%d: 1", gproc.Pid())
    17  		time.Sleep(time.Second)
    18  		glog.Printf("%d: 2", gproc.Pid())
    19  		time.Sleep(time.Second)
    20  		glog.Printf("%d: 3", gproc.Pid())
    21  	} else {
    22  		m := gproc.NewManager()
    23  		p := m.NewProcess(os.Args[0], os.Args, os.Environ())
    24  		p.Start()
    25  		p.Wait()
    26  		glog.Printf("%d: child died", gproc.Pid())
    27  	}
    28  }