"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je détecter les changements de fichiers dans GO à l'aide du sondage de statut?

Comment puis-je détecter les changements de fichiers dans GO à l'aide du sondage de statut?

Publié le 2025-02-16
Parcourir:269

How Can I Detect File Changes in Go Using Status Polling?

Détectez les modifications du fichier dans Go en utilisant le sondage de statut

dans Go, vous pouvez détecter quand un fichier change à l'aide du sondage d'état. Tandis que Go n'offre pas d'équivalent direct à la fonction UNIX fcntl () pour les notifications de changement de fichier, le sondage d'état fournit une solution multiplateforme:

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
}

usage:

doneChan := make(chan bool)

go func(doneChan chan bool) {
    defer func() {
        doneChan  

Cette solution n'offre pas l'efficacité d'un appel système mais fournit une approche simple qui fonctionne sur toutes les plates-formes et peut suffire à divers cas d'utilisation.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3