1. 测试代码
func main() {
logFile, _ := os.Create("test.log")
defer logFile.Close()
logger := log.New(logFile, "[Info]", log.Llongfile)
for {
logger.Println(time.Now().Format("2006-01-02 15:04:05"))
time.Sleep(time.Second * 5)
}
}
2. 生成守护进程
$ go build -ldflags "-H windowsgui"
3. 批处理工具
- 代码文件是ANSI编码格式
启动:run.bat
@echo off
title=启动进程:
echo=
echo=******************Start******************
echo=
tasklist|find "main.exe"
if errorlevel 1 (
start main.exe
echo 成功:进程已启动 !
) else (
echo.
echo 错误:进程已存在 !
)
echo=
echo=*******************End*******************
echo.
pause
rem echo后跟等号或空格
停止:stop.bat
@echo off
title=暂停进程:
echo=
echo=******************Start******************
echo=
taskkill /f /im main.exe
echo=
echo=*******************End*******************
echo.
pause
重启:restart.bat
@echo off
title=启动进程:
echo=
echo=******************Start******************
echo=
tasklist|find "main.exe"
if errorlevel 1 (
start main.exe
echo 成功:进程已启动 !
) else (
taskkill /f /im main.exe
echo.
start main.exe
echo 成功:进程已重启 !
)
echo=
echo=*******************End*******************
echo.
pause