IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Qui utilise mon device ?


Sujet :

Linux

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2017
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Qui utilise mon device ?
    Bonjour,

    Je travaille actuellement avec des drivers RTDM (ce sont des drivers temps-réel qui s'exécutent sur un noyau Linux patché avec Xenomai), cependant j'ai un problème lorsque je les décharge. Je débute un peu alors corrigez moi si je me trompe.

    Ce qui se passe c'est que quand je lance un reboot, un des scripts dans /etc/init.d/ va décharger les modules avec la commande rmmod, pas de soucis avec les modules non temps réel, ceux-ci se déchargent sans renvoyer d'erreur. Ce n'est pas le cas des drivers RTDM. Dans la fonction exit de ceux-ci, rtdm_dev_unregister va renvoyer EAGAIN.

    L'argument poll_delay étant à zéro, j'augmente un peu la valeur de celui-ci, je vais donc voir le message "Device ... still in use - waiting for release" et puis plus rien... Même après le délai, le message sera toujours affiché et le module non déchargé, indéfiniment (j'ai laissé tourné pendant un certain temps et rien n'a changé). A ce moment là je ne peux d'ailleurs plus rentrer de commandes, je suis obligé de redémarrer le hardware manuellement.

    Donc j'en déduis qu'un processus utilise le device mais qui ? Je ne vois pas trop où trouver ça, j'ai fouillé dans /proc et /proc/xenomai/rtdm sans succès. Après il se peut aussi que je me trompe de piste mais dans ce cas là je ne vois pas où serait le problème.

    Voilà, j'espère avoir été assez clair, n'hésitez pas si vous avez des questions

  2. #2
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 262
    Points
    12 262
    Par défaut
    tu peut tanter avec fseur d identifier les precess accedants a process concorne


    ton process =3333
    un fuser /proc/3333/fd/* devrait te lister ca ...

    cest barbare et tres a l ancienne comme methode mais ca doit suffir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    root@h2g2:~# fuser /proc/1587/fd/9
    /proc/1587/fd/9:      1575  1586  1587  1588  1589  1590
    si je regarde ce que c est  c est du postgres dans mon cas en principe 
     
     
    root@h2g2:~# ps -ef | grep 1586
    postgres  1586  1575  0 Feb26 ?        00:00:00 postgres: checkpointer process                                                                                              
    root     32398 31506  0 17:15 pts/11   00:00:00 grep 1586
    root@h2g2:~#

    bingo

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2017
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Ah merci je ne connaissais pas fuser ! Malheureusement ce n'est pas ce que je cherche, cela a plutôt l'air de s'appliquer aux drivers non RTDM...

  4. #4
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 972
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 972
    Points : 15 440
    Points
    15 440
    Par défaut
    Salut,

    Tu nous parles de drivers RTDM, ne connaissant pas ce bestiau j'ai fait une recherche qui remonte 101 000 pages, quand même !
    Ne sachant pas si tu utilises un driver fourni par quelqu'un d'autre ou si tu l'écris, déjà, il est un un peu compliqué de te répondre dans une direction ou dans une autre.

    Mais bon, si tu l'écris alors regarde dans ton code, et si tu utilises un truc fourni par quelqu'un, c'est à lui qu'il faut poser la question, il me semble.

Discussions similaires

  1. impossible d'éxécuter mon .jar qui utilise la librairie jexcelapi
    Par paulbach dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 22/01/2016, 11h08
  2. Réponses: 10
    Dernier message: 05/08/2010, 13h02
  3. connaitre qui utilise mon reseau WIFI
    Par sisi87 dans le forum Hardware
    Réponses: 2
    Dernier message: 19/08/2009, 17h34
  4. installer mon application qui utilise sql server
    Par ramanov dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 13/04/2009, 13h46
  5. Réponses: 5
    Dernier message: 22/11/2007, 21h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo