Files
next.orly.dev/pkg/utils/interrupt/restart.go
2025-09-02 20:32:53 +01:00

27 lines
418 B
Go

//go:build linux
package interrupt
import (
"lol.mleku.dev/log"
"os"
"syscall"
"github.com/kardianos/osext"
)
// Restart uses syscall.Exec to restart the process. macOS and Windows are not
// implemented, currently.
func Restart() {
log.D.Ln("restarting")
file, e := osext.Executable()
if e != nil {
log.E.Ln(e)
return
}
e = syscall.Exec(file, os.Args, os.Environ())
if e != nil {
log.F.Ln(e)
}
}