1 В избранное 1 Ответвления 0

huangmiao/testcase

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
daemonize.go 852 Байты
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
huangmiao Отправлено 24.03.2024 08:05 65abcef
package gitee
import (
"os"
"path/filepath"
"strconv"
"strings"
)
// AppIsRunningEx daemon is running
func AppIsRunningEx(pidfile string) (int, error) {
line, err := ReadFileFirstLine(pidfile)
if err != nil {
return 0, err
}
pidstr := strings.TrimSpace(line)
pid, err := strconv.Atoi(pidstr)
if err != nil {
return 0, err
}
if err := processIsRunning(pid); err != nil {
return 0, err
}
return pid, nil
}
// AppImmobilized pid
func AppImmobilized(pidfile string) error {
piddir := filepath.Dir(pidfile)
if _, err := os.Stat(piddir); err != nil && os.IsNotExist(err) {
if err = os.MkdirAll(piddir, 0775); err != nil {
return err
}
}
file, err := os.Create(pidfile)
if err != nil {
return err
}
defer file.Close()
if _, err := file.WriteString(strconv.Itoa(os.Getpid())); err != nil {
return err
}
return nil
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/huangmiao/testcase.git
git@api.gitlife.ru:huangmiao/testcase.git
huangmiao
testcase
testcase
master