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 POSIX Discussion :

problème d'appel d'un script shell pour tuer OOo [OS X] [Bash 3]


Sujet :

Shell et commandes POSIX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 7
    Par défaut problème d'appel d'un script shell pour tuer OOo
    Bonsoir,

    J'ai un problème pour tuer OpenOffice (3.0.1) sous MAC OS X (1.5.6) !

    J'ai mon petit programme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    String[] params = new String[2];
    params[0] = "/bin/sh";
    params[1] = "/chemin/fichier.sh";
    Process p = r.exec(params);
     
    InputStreamReader bis = new InputStreamReader(p.getErrorStream());
    BufferedReader br = new BufferedReader(bis);
     
    String line = "";
    while ((line = br.readLine()) != null)
    	System.out.println(line);
    mon fichier .sh (la commande fonctionne en mode terminal) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #!/bin/bash
    kill -9 `ps -e | grep soffice | head -n 1 | sed 's/^ *//g' | sed 's/ .*//g'`
    et voici l'erreur que j'ai quand je récupère l'ErrorStream :

    kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]


    J'ai essayé plein de trucs et passé des heures sur les forums mais je n'ai pas trouvé d'où venait ce problème... à vous la parole.

  2. #2
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 679
    Par défaut
    Bizarre j'ai essayé ton code sous linux, ça marche parfaitement.

    Je pense que tu devrais commencer par mettre dans ton shell:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #!/bin/bash
    ps -e | grep soffice 1>&2
    pour voir si la commande ps fonctionne correctement. Normalement cela devrais t'afficher la ligne du processus soffice.bin

  3. #3
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 679
    Par défaut
    Le problème vient probablement du ps.
    "ps -e" est une commande qui marche bien sous Linux, mais je ne suis pas sur qu'elle fonctionne de la même manière sous MacOs X qui est plutôt inspiré de BSD.
    Je pense que tu devrais essayer avec la syntaxe BSD: "ps ax"

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 7
    Par défaut
    Tout d'abord merci pour l'aide et l'attention.

    J'ai testé le "ps -e" et ca me donne bien un résultat sur l'InputStream par contre quand j'ajoute "| grep soffice" je n'ai rien dans l'Input et l'Error Stream ! ca peut venir du pipe alors...

    Ce que je n'ai pas dit et qui est d'autant plus bizarre c'est que le script à marché une fois ou deux

  5. #5
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 679
    Par défaut
    J'ai testé le "ps -e" et ca me donne bien un résultat sur l'InputStream par contre quand j'ajoute "| grep soffice" je n'ai rien dans l'Input et l'Error Stream ! ca peut venir du pipe alors...
    Y a il bien une ligne qui contient "soffice" dans la liste des process retournés par le ps -e?

    Le but du "| grep soffice" est justement de ne conserver que les lignes contenant le mot soffice.

  6. #6
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 679
    Par défaut
    Après un petit coup de google, il semblerait bien que tu doive remplacer ps -e par ps -auxww sous MacOS X

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

Discussions similaires

  1. Script shell pour tester si un répertoire est vide ou pas
    Par Ito dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 04/10/2006, 17h44
  2. Script shell pour modifier plusieurs fichiers
    Par julio_097 dans le forum Shell et commandes GNU
    Réponses: 10
    Dernier message: 03/10/2006, 12h41
  3. Script shell pour persister les variables exportées
    Par Giovanny Temgoua dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 03/10/2006, 09h07
  4. [GML] Scripts shell pour extraire des données d'Oracle
    Par diamonds dans le forum XQUERY/SGBD
    Réponses: 1
    Dernier message: 28/09/2006, 07h04
  5. [HTML & PERL] Appel d'un script shell
    Par mevardy dans le forum Web
    Réponses: 1
    Dernier message: 30/08/2006, 10h17

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