关于go语言中的os/exec包的使用

最近在使用exec.Command()进行调用ffmpeg,发现了一个现象,如下:

exec.Command("sh", "-c", cmd);这样会出现三个进程,一个是调用该程序的进程(叫其为进程10),一个是sh -c cmd(叫其为进程11),另一个是cmd(叫其为进程12),其中cmd的父进程是11,sh -c cmd 的父进程是10,如果将10进程杀掉,那就会剩下11和12两个进程,11的父进程变为系统进程;

exec.Command(cmd);这样会出现两个进程,一个是调用该程序的进程(叫其为进程13),一个是cmd(叫其为进程14),其中cmd的父进程是13,13的父进程是系统进程,如果将13进程杀掉,那还会剩下一个进程14,并且14的父进程变为系统进程;

你可能感兴趣的:(关于go语言中的os/exec包的使用)