日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
創(chuàng)新互聯(lián)GoFrame教程:GoFramegproc-基本使用

執(zhí)行Shell命令

package main

import (
    "github.com/GOgf/gf/v2/os/gproc"
    "fmt"
)

func main () {
    r, err := gproc.ShellExec(`sleep 3s; echo "hello gf!";`)
    fmt.Println("result:", r)
    fmt.Println(err)
}

執(zhí)行后,可以看到程序等待了3秒之后,輸出結(jié)果為:

你所需要的網(wǎng)站建設(shè)服務(wù),我們均能行業(yè)靠前的水平為你提供.標(biāo)準(zhǔn)是產(chǎn)品質(zhì)量的保證,主要從事網(wǎng)站制作、做網(wǎng)站企業(yè)網(wǎng)站建設(shè)、手機(jī)網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)、成都品牌網(wǎng)站建設(shè)、網(wǎng)頁(yè)制作、做網(wǎng)站、建網(wǎng)站。成都創(chuàng)新互聯(lián)公司擁有實(shí)力堅(jiān)強(qiáng)的技術(shù)研發(fā)團(tuán)隊(duì)及素養(yǎng)的視覺(jué)設(shè)計(jì)專才。

result: hello gf!

主進(jìn)程與子進(jìn)程

由?gproc.Manager?對(duì)象創(chuàng)建的進(jìn)程都默認(rèn)帶子進(jìn)程標(biāo)識(shí),在子進(jìn)程程序中可以通過(guò)?gproc.IsChild()?方法來(lái)判斷自身是否為子進(jìn)程。

package main

import (
    "os"
    "time"
    "github.com/gogf/gf/v2/os/glog"
    "github.com/gogf/gf/v2/os/gproc"
)

func main () {
    if gproc.IsChild() {
        glog.Printf("%d: Hi, I am child, waiting 3 seconds to die", gproc.Pid())
        time.Sleep(time.Second)
        glog.Printf("%d: 1", gproc.Pid())
        time.Sleep(time.Second)
        glog.Printf("%d: 2", gproc.Pid())
        time.Sleep(time.Second)
        glog.Printf("%d: 3", gproc.Pid())
    } else {
        m := gproc.NewManager()
        p := m.NewProcess(os.Args[0], os.Args, os.Environ())
        p.Start()
        p.Wait()
        glog.Printf("%d: child died", gproc.Pid())
    }
}

執(zhí)行后,終端打印結(jié)果如下:

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

多進(jìn)程管理

?gproc?除了能夠創(chuàng)建子進(jìn)程,管理子進(jìn)程之外,也能管理非自身創(chuàng)建的其他進(jìn)程。?gproc?可以同時(shí)管理多個(gè)進(jìn)程,這里以單個(gè)進(jìn)程為例來(lái)演示對(duì)進(jìn)程的管理功能。

  • 我們使用?gedit?軟件(Linux下常用的文本編輯器)隨意打開(kāi)一個(gè)文件,在進(jìn)程當(dāng)中我們看到該?gedit?的進(jìn)程ID為28536
 $ ps aux | grep gedit
 john  28536  3.6  0.6 946208 56412 ?  Sl  14:39  0:00 gedit /home/john/Documents/text

  • 我們的程序如下:
package main


import (
    "fmt"
    "github.com/gogf/gf/v2/os/gproc"
)


func main () {
    pid := 28536
    m   := gproc.NewManager()
    m.AddProcess(pid)
    m.KillAll()
    m.WaitAll()
    fmt.Printf("%d was killed\n", pid)
}

執(zhí)行后,?gedit?被關(guān)閉,終端輸出信息為:

28536 was killed

名稱欄目:創(chuàng)新互聯(lián)GoFrame教程:GoFramegproc-基本使用
標(biāo)題網(wǎng)址:http://m.5511xx.com/article/dhjecsg.html