2012-05-03 2 views
0

Je déboguais sur un ordinateur monocarte, et j'ai compris que je n'ai jamais fermé le ttyUSB dans mon programme. Maintenant, le programme ne passera pas la fonction open(). Comment puis-je fermer manuellement la ligne ou la forcer à s'ouvrir? Je préférerais ne pas éteindre l'ordinateur, et le périphérique USB doit rester dans le SBC.Périphérique Linux laissé ouvert

La ligne spécifique que j'ai des problèmes avec est:

gpso = open(GPSDEVICE, O_RDWR | O_NOCTTY); //gps device is the directory name of the device (ttyUSB0) 
+0

Pouvez-vous exécuter 'fuser' ou' lsof' pour découvrir si des processus ont encore le fichier ouvert? Tuer ces processus. – sarnold

Répondre

3

À la fin du processus, le noyau se ferme automatiquement tous les descripteurs de fichiers.

Si les périphériques sont toujours ouverts, cela signifie que le processus est toujours en cours. Tue le.

+0

J'ai oublié mes processus BG. Je vous remercie. – Reid

Questions connexes