golang cmd执行外部程序

Kill进程及其子进程,以及处在sleep或者阻塞状态中的程序,如果使用cmd.Process.Kill()是没发达到这些效果。
cmd := exec.Command("/bin/sh", "-c", "...........")
// Go会将PGID设置成与PID相同的值
cmd.SysProcAttr = &syscall.SysProcAttr{Setpgid: true}
syscall.Kill(-cmd.Process.Pid, syscall.SIGKILL)

eg
package main

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

func main() {
args := []string{
"/bin/bash",
"/Users/joy/src/testGo/test.sh",
"world",

golang cmd执行外部程序最先出现在Python成神之路

版权声明:
作者:倾城
链接:https://www.techfm.club/p/19381.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>