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

Shell et commandes GNU Discussion :

Accès à un processus lancé par une tâche cron


Sujet :

Shell et commandes GNU

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2014
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Accès à un processus lancé par une tâche cron
    Bonjour,

    Après plusieurs heures de recherche, j'ai n'ai toujours pas résolu mon problème, c'est pourquoi je poste sur votre forum.

    J'ai un serveur sous debian 7 avec mono, ainsi qu'une application console développé en C# qui permet de contrôler un matériel via une DLL. La sortie de l'application s'effectue par l'appuie sur la touche X qui permet de fermer correctement la connexion au matériel.

    Le but étant de porter cette application sur un serveur linux via mono.

    Mon application se trouve dans /home/user/app/monapp.exe

    Lorsque je tape : mono /home/user/app/monapp.exe l'application se lance correctement et je la quitte via l'appuie sur la touche X --> aucun problème.

    Maintenant, le but et de lancer l'application a 8h00 et de la fermer à 22h00.

    J'ai donc une tâche cron qui lance l'application à 8 :
    00 08 * * * mono /home/user/app/monapp.exe. Jusque la pas de problème.

    Maintenant, je souhaite envoyer le X à 22h pour fermer l'application proprement (fermeture connexion au matériel) et non faire un kill sur le PID.

    J'ai donc récupéré le PID de ce processus afin de saisir la commande suivante :
    echo X > /proc/PID/fd/0 mais sans succès.

    Avez vous une méthode permettant d'envoyer le X dans le PID concerné ?

    Je vous remercie par avance et vous souhaite une bonne journée.

  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 264
    Points
    12 264
    Par défaut
    Une vraie solution propre c'est que ton programme
    -check un fifo dédié, le crée s'il n'existe pas
    -et l'écoute bien sur...

    à 22H tu emets alors un caractère défini echo X > /dev/fifo_application_1et que ton applis donc interprete l'arrivée de ce caractère précis comme stop.

    sinon tu peux bien sur tout hardcoder dans l'application avec un trapping de X entre 22H et 22h01 par exemple .. mais c'est plus risqué...parce qu'il signal pour une autre appli peut alors etre interpreté à tors...

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2014
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Je vous remercie beaucoup pour votre réponse rapide et je vous informe que cette solution est fonctionnelle.

    Pour résumer, dans mon programme C# je crée un fichier au démarrage du programme que j'écrase à chaque démarrage dans lequel je vais écrire mon caractère de sortie.
    Via "FileSystemWatcher" en C# j'ai mis en place un événement pour l'écriture dans ce fichier.

    A 22h je lance ma tâche CRON, qui va écrire mon caractère de sortie X dans ce fichier.
    Je rentre donc dans mon événement, je vérifie qu'il s'agit bien de mon caractère de sortie et si c'est le cas je quitte mon programme.

  4. #4
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 238
    Points : 13 443
    Points
    13 443
    Par défaut
    Bonjour,

    le fait que n'importe qui écrivant n'importe quoi dans le tube nommé, retire la possibilité au programme de s'arrêter à 22h n'est-il pas une faille de sécurité importante?
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2014
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    Bonjour,

    le fait que n'importe qui écrivant n'importe quoi dans le tube nommé, retire la possibilité au programme de s'arrêter à 22h n'est-il pas une faille de sécurité importante?
    Bonsoir,

    Vous avez tout à fait raison concernant la sécurité, mais ce serveur n'est dédié qu'a cette application et seul l'administrateur en a les accès.

    Je vous remercie d'avoir mis un point d'interrogation sur ce point auquel je n'avais pas vraiment pensé.

    Je vous souhaite une bonne soirée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Page PHP par une tâche CRON
    Par siuol77 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 20/07/2010, 10h46
  2. Réponses: 5
    Dernier message: 05/06/2007, 17h25
  3. Configuration d'une tâche Cron
    Par Rajhonson dans le forum Serveurs (Apache, IIS,...)
    Réponses: 2
    Dernier message: 21/12/2006, 17h00
  4. Tuer un processus lance par system sous perl
    Par gedeon555 dans le forum Langage
    Réponses: 4
    Dernier message: 10/04/2006, 18h11
  5. [Tomcat]Droit d'accès aux fichiers créés par une servlet
    Par loulouleboss dans le forum Tomcat et TomEE
    Réponses: 7
    Dernier message: 15/07/2004, 15h32

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