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
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 862
    Points : 4 836
    Points
    4 836
    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.

    @++

  2. #2
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    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 : 45
    Localisation : France

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

    smortex a sûrement raison ceci dit.

  4. #4
    Membre chevronné

    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
    Points : 1 803
    Points
    1 803
    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 : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Points : 4 029
    Points
    4 029
    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.

  6. #6
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 862
    Points : 4 836
    Points
    4 836
    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.

    @++

  7. #7
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 862
    Points : 4 836
    Points
    4 836
    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.

    @++

  8. #8
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    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
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

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

    @++

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

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Points : 4 029
    Points
    4 029
    Par défaut
    Citation Envoyé par ggnore
    pourquoi mettres des parenthèses à l'appel de pidof ?

  11. #11
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

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

    @++

+ 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