执行Shell命令

  1. <nil>

主进程与子进程

gproc.Manager对象创建的进程都默认带子进程标识,在子进程程序中可以通过gproc.IsChild()方法来判断自身是否为子进程。

  1. 2018-05-18 14:35:41.360 28285: Hi, I am child, waiting 3 seconds to die
  2. 2018-05-18 14:35:42.361 28285: 1
  3. 2018-05-18 14:35:43.361 28285: 2
  4. 2018-05-18 14:35:44.362 28278: child died

多进程管理

除了能够创建子进程,管理子进程之外,也能管理非自身创建的其他进程。gproc可以同时管理多个进程,这里以单个进程为例来演示对进程的管理功能。

  1. 我们的程序如下:

    1. package main
    2. import (
    3. "fmt"
    4. func main() {
    5. pid := 28536
    6. m := gproc.NewManager()
    7. m.AddProcess(pid)
    8. m.KillAll()
    9. m.WaitAll()
    10. }