Est-ce que quelqu'un sait d'une méthode que je peux utiliser pour détecter par programme si un disque dur SATA a été débranché? Notre système de fichiers est monté en mode READ-ONLY lorsque nous devons détecter le retrait du lecteur. Nous avons remarqué l'autre jour que nous étions en mesure de débrancher un disque dur et tout a continué à fonctionner sans accroc jusqu'à la prochaine fois que nous avons essayé de lire à partir d'un fichier sur le disque.Comment faire pour détecter par programme sata drive unplug dans SuSE Linux?
0
A
Répondre
1
L'analyse de la sortie de dmesg
est une mauvaise idée pour plusieurs raisons, notamment en ce qu'elle est inefficace et dépend du format utilisé par le printk
dans le noyau.
Sur les systèmes Linux modernes, les modifications matérielles sont généralement gérées via udev qui, à son tour, propage les événements de modification via D-BUS.
Vous souhaiterez peut-être rechercher comment l'insertion et le retrait des clés USB sont gérés; les méthodes devraient être assez similaires.
Pas une réponse complète, mais ne pas ajouter SUSE à 'dmesg' chaque fois qu'un lecteur SATA est débranché? Vous pouvez obtenir le dmesg et l'interroger continuellement pour les changements de disque dur. – Earlz
Je vais jeter un coup d'oeil. –
Merde, j'ai oublié une complication supplémentaire. Notre système de fichiers est en mode READ-ONLY lorsque j'ai besoin de détecter la déconnexion. –