func Command(args ...string) *exec.Cmd {
	return &exec.Cmd{
		Path: Self(),
		Args: args,
		SysProcAttr: &syscall.SysProcAttr{
			Pdeathsig: syscall.SIGTERM,
		},
	}
}
Command returns *exec.Cmd which have Path as current binary. Also it setting
SysProcAttr.Pdeathsig to SIGTERM.
This will use the in-memory version (/proc/self/exe) of the current binary,
it is thus safe to delete or replace the on-disk binary (os.Args[0]).
package reexec
import (
	"os/exec"
	"syscall"
)
func Self() string {
	return "/proc/self/exe"
}