Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kasworld/signalhandlewin
signal handler for windows
https://github.com/kasworld/signalhandlewin
service-maker signal-handler
Last synced: about 2 months ago
JSON representation
signal handler for windows
- Host: GitHub
- URL: https://github.com/kasworld/signalhandlewin
- Owner: kasworld
- License: apache-2.0
- Created: 2020-08-22T02:35:20.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-02-06T06:46:16.000Z (almost 4 years ago)
- Last Synced: 2023-07-27T22:16:38.575Z (over 1 year ago)
- Topics: service-maker, signal-handler
- Language: Go
- Homepage:
- Size: 32.2 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# golang signal handler for server/service for windows
signalhandle (리눅스용) 을 수정한
윈도우용 서버/서비스를 만드는데 사용하는 signal handler 입니다.# 기능
pid lockfile을 사용해서 서비스의 제어를 가능하게 해줍니다.
서비스 시작 : 중복 실행을 막으며 서비스 시작이 가능합니다.
-service=start
서비스 종료 : ctrl-c 등으로 종료할때 서비스 클린업을 하고 종료 할 수 있습니다.
-service=stop
서비스 재시작 : 실행중인 서비스를 종료하고 다시 시작 합니다.
-service=restart
서비스 강제 재시작 : 전원 중단 등으로 비정상 종료된 경우 pid lockfile을 지우고 서비스를 강재로 시작 합니다.
-service=forcestart
# 사용시 추가 되는 인자
-service string
start,stop,restart,forcestart (default "start")# 사용자 프로그램에서 구현 해야 하는 interface
서비스로 만드려는 프로그램 (struct) 에서 다음 인터페이스를 구현 합니다.
type ServiceI interface {
GetServiceLockFilename() string
ServiceInit() error
ServiceMain(ctx context.Context)
ServiceCleanup()
GetLogger() interface{} // LoggerI 를 구현 해야 합니다.
}type LoggerI interface {
Reload() error
Fatal(format string, v ...interface{})
Error(format string, v ...interface{})
Debug(format string, v ...interface{})
}# 사용 예제
example/example.go 참고
# 사용 프로젝트
https://github.com/kasworld/goonlinescaffolding
https://github.com/kasworld/gowasm3dgame
https://github.com/kasworld/gowasm2dgame
https://github.com/kasworld/goguelike