Golang 守护进程创建教程:详细步骤与示例代码
在 Golang 中,可以使用 os 包中的 StartProcess 函数创建守护进程。
以下是创建守护进程的具体步骤:
- 创建一个结构体,包含需要执行的命令和参数。
cmd := exec.Command('command', 'arg1', 'arg2')
- 设置进程为守护进程,通过设置进程的属性。
attr := &os.ProcAttr{
Files: []*os.File{os.Stdin, os.Stdout, os.Stderr},
}
- 启动守护进程。
proc, err := os.StartProcess(cmd.Path, cmd.Args, attr)
if err != nil {
log.Fatal(err)
}
- 等待守护进程退出。
_, err = proc.Wait()
if err != nil {
log.Fatal(err)
}
完整代码示例:
package main
import (
"log"
"os"
"os/exec"
)
func main() {
cmd := exec.Command('sleep', '10')
attr := &os.ProcAttr{
Files: []*os.File{os.Stdin, os.Stdout, os.Stderr},
}
proc, err := os.StartProcess(cmd.Path, cmd.Args, attr)
if err != nil {
log.Fatal(err)
}
_, err = proc.Wait()
if err != nil {
log.Fatal(err)
}
}
以上代码将会创建一个名为 sleep 的守护进程,并执行 10 秒后退出。
原文地址: https://www.cveoy.top/t/topic/nyuW 著作权归作者所有。请勿转载和采集!