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 :

[Bash] Attendre qu'un processus soit complété (et non fini) avant d'exécuter les instructions suivantes


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de AvySamaj
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 118
    Par défaut [Bash] Attendre qu'un processus soit complété (et non fini) avant d'exécuter les instructions suivantes
    Bonjour.

    Ma machine tourne sur Ubuntu 18.04.3 et la version de Bash est 4.4.20.

    L'idée principale est la suivante:
    ###Lancer tor & polipo
    ./lancementTorPolipo.sh start 1 5
    #Attendre que les circuits tor soit complété par "Bootstrap 100% done" ce qui met un peu de temps
    #Ensuite, et seulement ensuite
    ./autreScriptQuiDépendDesCircuitsDeTor.sh


    Voici un extrait du fichier ./lancementTorPolipo.sh
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    mode=$1
    minimum=$2
    maximum=$3
    if [ $mode = "start" ]; then
        for i in `seq $minimum  $maximum`;
        do
            tor -f /etc/tor/torrc$i &
        done
    fi
    Comme vous le voyez les instances de Tor sont lancés via la commande tor -f /etc/tor/torrc. C'est très différent que de le lancer comme un service/deamon comme vous le savez je pense, et je vais aborder le point ensuite.

    Donc, à l'heure actuelle je ne sais pas comment automatiser dans un script bash le fait d'attendre que les circuits soient tous complets: Bootstrapped 100%: Done.
    Je précise d'avance que la commande wait comme on me l'a proposé ailleurs n'est absolument pas ce que j’attends. Cette dernière attends que le processus (PID) disparaisse. Moi j'attends au contraire qu'il soit toujours présent.
    Je ne souhaite pas envisager la commande sleep non plus. L'attente dépendant du nombre de circuits créés et puis d'autres facteurs que je ne maîtrise pas.

    Je reviens maintenant sur les services/deamons. J'ai cherché ce qu'était les status pour les services, notamment avec les commandes de systemctl. J'aimerais savoir si pour vous c'est une piste envisageable pour répondre à mon problème que de lancer ces instances de torrc comme des services ou si on peut se passer de cela ? Autrement dit y a-t-il d'autres moyens? Déjà qu'est ce qui serait le plus à faire ?

  2. #2
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 347
    Par défaut
    Bonjour,

    Je n'utilise pas tor, pourrais-tu donc préciser où l'on trouve le fameux "Bootstrap 100% done" à l'écran ou dans un log ?

    par exemple, si c'est dans un log, quelque chose comme ci-dessous devrait le faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tail -n +1 -f log | grep -m 1 "Bootstrap 100% done"
    Ceci te rendra la main dés que la regex est trouvée

  3. #3
    Membre confirmé Avatar de AvySamaj
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 118
    Par défaut
    Je pense que l'on peut dire que c'est un log. Vous me direz si je me trompe.

    Quand je lance le script avec la commande ./lancementTorPolipo.sh start 1 5 ça donne une sortie dans le shell tel que:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    (base) avy@machine:/~$ Sep 10 13:38:04.996 [notice] Tor 0.3.2.10 (git-0edaa32732ec8930) running on Linux with Libevent 2.1.8-stable, OpenSSL 1.1.1, Zlib 1.2.11, Liblzma 5.2.2, and Libzstd 1.3.3.
    Sep 10 13:38:04.998 [notice] Tor can't help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning
    Sep 10 13:38:04.998 [notice] Read configuration file "/etc/tor/torrc1".
    ...#j'en passe
    Sep 10 13:38:04.998 [notice] Read configuration file "/etc/tor/torrc5".
    ...#j'en passe encore
    Sep 10 13:38:09.000 [notice] Bootstrapped 100%: Done
    Sep 10 13:38:09.000 [notice] Tor has successfully opened a circuit. Looks like client functionality is working.
    Sep 10 13:38:09.000 [notice] Bootstrapped 100%: Done
    Sep 10 13:38:09.000 [notice] Tor has successfully opened a circuit. Looks like client functionality is working.
    Sep 10 13:38:09.000 [notice] Bootstrapped 100%: Done
    Comme vous le voyez Bootstrapped 100% apparaît autant de fois qu'il y a d'instances lancées. Donc j'ai aussi une contrainte technique qui est d'attendre d'avoir le bon nombre de fois ce message avant de lancer les instructions suivantes.

  4. #4
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 347
    Par défaut
    Dans ce cas, il suffit de remplacer le 1 du grep -m 1 "..." par le nombre désiré.

  5. #5
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 656
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 656
    Par défaut
    Citation Envoyé par polipo
    [...]HTTP proxies are no longer useful: most traffic is encrypted, and a web proxy merely acts as a dumb intermediary for encrypted traffic.
    lire la suite
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    Membre confirmé Avatar de AvySamaj
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 118
    Par défaut
    @N_BaH Autant pour moi j'ai cru que c'était dans le log que j'avais copié. Donc je refais le message.

    Oui je suis au courant de ce que vous mentionnez. Mais ça marche très bien. En utilisant la commande de curl --proxy 127.0.0.1ortDuProxy -L https://check.torproject.org/api/ip je vois que j'ai bien une adresse IP de Tor. Donc ça fonctionne. Dites-moi ce qui vous inquiète avec ces grands yeux: .

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

Discussions similaires

  1. [VB.NET] Attendre qu'un thread soit terminé
    Par Kiboumz dans le forum VB.NET
    Réponses: 4
    Dernier message: 08/12/2006, 10h28
  2. attendre qu'un fichier soit modifier
    Par narkhor dans le forum C++
    Réponses: 13
    Dernier message: 04/08/2006, 20h51
  3. [C#] Attendre que l'application soit lancée ?
    Par choas dans le forum Windows Forms
    Réponses: 5
    Dernier message: 09/05/2006, 21h39
  4. Attendre qu'un thread soit suspendu !
    Par pi05 dans le forum MFC
    Réponses: 1
    Dernier message: 24/06/2005, 10h58
  5. [API Windows]Attendre qu'une fenetre soit dessinee
    Par VoLc0m dans le forum Windows
    Réponses: 21
    Dernier message: 13/05/2005, 15h11

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