Слияние кода завершено, страница обновится автоматически
package gogo
import (
"os"
"os/exec"
"strconv"
"strings"
)
func service(handler func()) {
restart_delay := 0
var args []string
for i := 1; i < len(os.Args); i++ {
if strings.HasPrefix(os.Args[i], "--gogo-restart-delay") {
restart_delay, _ = strconv.Atoi(strings.Split(os.Args[i], "=")[1])
continue
}
args = append(args, os.Args[i])
}
if restart_delay > 0 {
for {
cmd := exec.Command(os.Args[0], args...)
cmd.Env = os.Environ()
//cmd.Stdin = os.Stdin
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
if err := cmd.Start(); err != nil {
LogErrorF("failed to run command: %s\n", err)
}
if err := cmd.Wait(); err != nil {
LogErrorF("failed to wait command: %s\n", err)
}
TimeSleepMilliSecond(restart_delay)
}
}
handler()
}
func StartGuard(handler func()) {
daemon := false
var args []string
for i := 1; i < len(os.Args); i++ {
if os.Args[i] == "--gogo-background" {
daemon = true
continue
}
args = append(args, os.Args[i])
}
if daemon {
cmd := exec.Command(os.Args[0], args...)
cmd.Env = os.Environ()
if err := cmd.Start(); err != nil {
LogErrorF("failed to run command: %s\n", err)
}
return
}
service(handler)
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )