为了防止应用被重复打开,如何实现?有没有现有的框架或者库?
```go
package prepare
import "syscall"
const (
lf = "singleton.lock"
)
func singleton() {
if fd, err := syscall.Open(lf, syscall.O_CREAT|syscall.O_RDONLY, 0644); err != nil {
panic(err)
} else if err := syscall.Flock(fd, syscall.LOCK_EX|syscall.LOCK_NB); err != nil {
panic(err)
}
return
}
```
#9
更多评论