Golang processes
From wikinotes
Documentation
os
https://pkg.go.dev/os@go1.18.3
Current Process
import "os" import "os/user" os.Executable() os.Getpid() os.Getppid() os.Getuid() os.Getgid() os.Exit(1) // exit process with exitcode '1' // environment envvars := os.Environ() // ["FOO=bar", "BAR=baz", ...] pwd, err := os.Getwd() // get current pwd/cwd user.Current() // 'will'
Manage Processes
import "syscall" proc := os.Process.FindProcess(1234) // find process with pid proc.Kill() // kill process (-9/SIGKILL) proc.Signal(os.Iterrupt) // send SIGINT to process (looks like you can use any syscall.SIG*) syscall.Kill(1234, syscall.SIGINT) // send SIGINT to pid 1234
Subprocess
os.Process.StartProcess ProcAttr Process