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 :

Quoter une commande


Sujet :

Linux

  1. #1
    Membre expérimenté
    Avatar de GLDavid
    Homme Profil pro
    Head of Service Delivery
    Inscrit en
    Janvier 2003
    Messages
    2 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Head of Service Delivery
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 896
    Par défaut Quoter une commande
    Salut

    Dans la rubrique "GLDavid = Alzeihmer", voici mon problème.
    J'édite un script qui doit être lancé au démarrage. Ce que je voudrais c'est récupérer le pid du processus que je lance.
    Voici comment je m'y prend sous FedoraCore3 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    getPID(){
    	pidno=pidof("svnserve -d -r /home/gldavid/repository/")
    	return $pidno
    }
    mais à l'exécution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ./subversion_server.sh: line 6: syntax error near unexpected token `('
    Scrongneugneu !!! Ke ki va pas ??
    Merci d'avance.

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code :tagcode: ni le tag :resolu:

    Je ne répond à aucune question technique par MP.

  2. #2
    Membre Expert

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Par défaut
    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    NOM
           pidof -- affiche le PID d'un programme
     
    SYNOPSIS
           pidof [-s] [-x] [-o omitpid] [-o omitpid..]  program [program..]
    Donc je dirais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    svnserve -d -r /home/gldavid/repository/
    return `pidof svnserve`

  3. #3
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Par défaut
    pourquoi mettres des parenthèses à l'appel de pidof ?

    smortex a sûrement raison ceci dit.
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 296
    Par défaut
    peut être aussi :
    BOGUE
    Quand pidof est exécuté avec le chemin complet du programme dont il
    doit chercher le PID, son comportement est fiable. Dans le cas con-
    traire, les PIDs renvoyés peuvent être ceux de processus portant le
    même nom mais qui sont en fait des programmes différents

  5. #5
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Par défaut
    Citation Envoyé par MarcG
    peut être aussi :
    BOGUE
    Quand pidof est exécuté avec le chemin complet du programme dont il
    doit chercher le PID, son comportement est fiable. Dans le cas con-
    traire, les PIDs renvoyés peuvent être ceux de processus portant le
    même nom mais qui sont en fait des programmes différents
    Intéressant effectivement, mais son problème vient de la syntaxe de son script, et non pas d'une mauvaise valeur renvoyée.

    Ceci dit, ce que tu indiques est très intéressant, ça vaudrait le coup de tester que le processus n'est présent qu'une seule fois dans histoire de pas se planter.
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  6. #6
    Membre expérimenté
    Avatar de GLDavid
    Homme Profil pro
    Head of Service Delivery
    Inscrit en
    Janvier 2003
    Messages
    2 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Head of Service Delivery
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 896
    Par défaut
    Bonjour

    Veuillez excuser le retard dans ma réponse mais ce vendredi, il y a eu une grosse coupure d'électricité sur Namur. Bref, pas de boulot hors mis papier.
    revenons-en à mon problème. Je vous adresse mon script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    #!/bin/bash
     
    #This script is to launch the subversion server with security
     
    getPID(){
    	echo $1
    	pidno=pidof $1
    	return $pidno
    }
     
    start() {
    	svnserve -d -r /home/dbourgais/repository/
    	RETVAL=$?
    	return $RETVAL	
    }
     
    stop() {
    	arg="svnserve"
    	echo $arg
    	$pid=getPID($arg)
    	kill $pid
    	RETVAL=$?
    	return $RETVAL	
    }
     
    case "$1" in
    	start)
    		start
    		;;
    	stop)
    		stop
    		;;
    	restart)
    		stop
    		start
    		;;
    	*)
    		echo $"Usage: $prog {start|stop|restart}"
    		exit 1
    esac
    exit $RETVAL
    Mon problème est toujours le même :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ./subversion_server.sh: line 20: syntax error near unexpected token `$arg'
    ./subversion_server.sh: line 20: `      $pid=getPID($arg)'
    Le problème intervient donc à cette ligne :
    C'est peut être tout bête mais pourquoi n'accepte t'il pas ma chaîne de caractère ?
    Merci d'avance de vos réponse et veuillez excuser encore le retard.

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code :tagcode: ni le tag :resolu:

    Je ne répond à aucune question technique par MP.

  7. #7
    Membre expérimenté
    Avatar de GLDavid
    Homme Profil pro
    Head of Service Delivery
    Inscrit en
    Janvier 2003
    Messages
    2 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Head of Service Delivery
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 896
    Par défaut
    Bon, j'ai résolu le problème en le contournant. Je trouve ma méthode "crade" mais fonctionnelle, voici mon correctif :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    #!/bin/bash
     
    #This script is to launch the subversion server with security
    #
    # chkconfig: 345 91 60
    # description: execute subversion server with security
    #
     
    start() {
    	svnserve -d -r /home/dbourgais/repository/
    	RETVAL=$?
    	return $RETVAL	
    }
     
    stop() {
    	killproc `which svnserve`
    	RETVAL=$?
    	return $RETVAL	
    }
     
    case "$1" in
    	start)
    		start
    		;;
    	stop)
    		stop
    		;;
    	restart)
    		stop
    		start
    		;;
    	*)
    		echo $"Usage: $prog {start|stop|restart}"
    		exit 1
    esac
    exit $RETVAL
    Ca fait un code plus léger. Bien que je mette le tag Résolu, je reste ouvert à toutes optimisations.

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code :tagcode: ni le tag :resolu:

    Je ne répond à aucune question technique par MP.

  8. #8
    Membre Expert

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Par défaut
    Citation Envoyé par GLDavid
    Le problème intervient donc à cette ligne :
    C'est peut être tout bête mais pourquoi n'accepte t'il pas ma chaîne de caractère ?
    EN script shell, on met pas de parentheses... sauf pour déclarer une fonction (et certainement pas pour l'utiliser !)

    Citation Envoyé par GLDavid
    je reste ouvert à toutes optimisations.
    Enlever le $ après le echo dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $"Usage: $prog {start|stop|restart}"
    (A moins que ce soit moi qui ai du mal a saisir son rôle)

  9. #9
    Membre expérimenté
    Avatar de GLDavid
    Homme Profil pro
    Head of Service Delivery
    Inscrit en
    Janvier 2003
    Messages
    2 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Head of Service Delivery
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 896
    Par défaut
    Ok, merci Smortex, je vais apporter quelques retouches à mon script en suivant tes remarques.

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code :tagcode: ni le tag :resolu:

    Je ne répond à aucune question technique par MP.

  10. #10
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Par défaut
    Citation Envoyé par ggnore
    pourquoi mettres des parenthèses à l'appel de pidof ?
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  11. #11
    Membre expérimenté
    Avatar de GLDavid
    Homme Profil pro
    Head of Service Delivery
    Inscrit en
    Janvier 2003
    Messages
    2 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Head of Service Delivery
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 896
    Par défaut
    Mes plus humbles excuses ggnore. J'ai lu trop vite. Bon, allez, je t'autorise :
    ggnore--><--GLDavid

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code :tagcode: ni le tag :resolu:

    Je ne répond à aucune question technique par MP.

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

Discussions similaires

  1. Ecrire le résultat d'une commande dans un fichier de l' OS
    Par Labienus dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 26/02/2004, 11h04
  2. [LG]plantage sur une commande basique !
    Par Jeff on the web dans le forum Langage
    Réponses: 5
    Dernier message: 13/01/2004, 19h07
  3. Passage d'une commande à un programme
    Par nicolas.pissard dans le forum C++Builder
    Réponses: 5
    Dernier message: 04/11/2003, 13h37
  4. Réponses: 2
    Dernier message: 24/06/2003, 20h31
  5. [VB6] probleme de redirection d'une commande DOS
    Par WriteLN dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 10/06/2003, 09h36

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