Detectar los cambios de archivo en GO usando el estado de la encuesta
en Go, puede detectar cuándo un archivo cambia usando la encuesta de estado. Mientras que GO no ofrece un equivalente directo a la función UNIX fcntl () para notificaciones de cambio de archivo, Status Polling proporciona una solución de plataforma cruzada:
func watchFile(filePath string) error { initialStat, err := os.Stat(filePath) if err != nil { return err } for { stat, err := os.Stat(filePath) if err != nil { return err } if stat.Size() != initialStat.Size() || stat.ModTime() != initialStat.ModTime() { break } time.Sleep(1 * time.Second) } return nil }
use:
doneChan := make(chan bool) go func(doneChan chan bool) { defer func() { doneChanEsta solución no ofrece la eficiencia de una llamada del sistema pero proporciona un enfoque simple que funciona en todas las plataformas y puede ser suficiente para varios casos de uso.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3