Forum Programmation.shell Screen avec un fichier .sh

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
2
1
déc.
2019

Bonjour,

Pour gagner du temps, j'ai voulu faire un script "all.sh" qui me permettrais d'ouvrir 3 screen détaché.

Voici les 3 screen que je veux ouvrir grâce au fichier :
screen -S waterfall sh start.sh
screen -S hub sh start.sh
screen -S subaqua sh /start.sh
(Bien sur je fait cd /home/waterfall/ pour pouvoir ouvrir le screen avec le bon start.sh)

Je suis allez voir différents forum pour voir comment faire et j'ai donc trouver les 3 commandes suivantes :
screen -dmS waterfall sh /home/waterfall/start.sh
screen -dmS hub sh /home/hub/start.sh
screen -dmS subaqua sh /home/subaqua/start.sh

J'ai mis sa dans mon fichier all.sh mais quand je l'exécute il n'y a aucune erreur mais aucune action aussi, j'ai essayer de rajouter "#!/bin/sh" et rien non plus et j'ai aussi essayer "#!/bin/bash" mais rien non plus
Voila pourquoi j'ai décider de venir vous voir ici.

Cordialement, NzoSifou

  • # Pas de nouvelles, bonnes nouvelles

    Posté par  . Évalué à 3.

    Salut,

    Je pense que tu as obtenu ce que tu as demandé : tu as trois sessions screen détachées du terminal :-)

    Utilise screen -list pour lister les sessions et screen -r nom_session pour rattacher une session.

    • [^] # Re: Pas de nouvelles, bonnes nouvelles

      Posté par  (site web personnel) . Évalué à 7. Dernière modification le 01 décembre 2019 à 18:33.

      En complément, vu que la notion de screen détaché n'était peut-être pas tout à fait ce qui était souhaité, une autre possibilité :

      screen -S supertitre -c ~/.screenrc-masuperconfig
      

      Avec dans le fichier ~/.screenrc-masuperconfig :

      screen -t screen1 macommande1
      screen -t screen2 macommande2
      screen -t screen3 macommande3
      select 0
      

      Cela permet de créer une session screen récupérable avec screen -rd supertitre, qui contient trois écrans appelés screen1, screen2, screen3, qui font tourner chacun leur commande. Puis comme d'habitude, C-a C-n/C-a C-p pour passer au suivant/précédent, C-a C-d pour se détacher et le laisser tourner en fond, etc.

      Édition : Ajout de select 0 qui permet de ne pas rester sur le dernier écran créé, mais de basculer sur le premier.

      Debian Consultant @ DEBAMAX

      • [^] # Re: Pas de nouvelles, bonnes nouvelles

        Posté par  . Évalué à 1.

        Bonjour Cyril Brulebois,

        Comme je l'ai montrer plus haut je souhaite exécuter ceci dans un fichier .sh merci de ton idée mais ce n'est malheureusement pas ce qu'il me faut ^

    • [^] # Re: Pas de nouvelles, bonnes nouvelles

      Posté par  . Évalué à 1.

      Bonjour,

      Justement non je n'ai pas ce que j'ai demander , je veux trois sessions screen détachées du terminal sa oui mais quand justement j'essaie de faire screen -list (ou screen -ls) il me dit qu'il n'y sont pas !

  • # R pour Rattacher

    Posté par  . Évalué à 3.

    il me semble que j'utilisais screen -RdS monscreen1
    pour créer ou me rattacher à monscreen1

    ca permet de créer le screen s'il n'existe pas ou de s'y rattacher s'il existe deja.

    • [^] # Re: R pour Rattacher

      Posté par  . Évalué à 1.

      Bonjour,

      Merci de ta réponse, je t'invite a lire la réponse que j'ai posté plus haut quand je met mes 3 screens dans mon sh et que je l’exécute il ne se passe rien et ne se mettent pas dans la liste des screen et j'ai quand même essayer mais ne marche pas non plus ^
      Une fois le problème résolu je pense utilisé ta proposition qui ma l'air bien ^

      A+ !

      • [^] # Re: R pour Rattacher

        Posté par  . Évalué à 3. Dernière modification le 04 décembre 2019 à 20:02.

        alors deja sur ma machine (debian10) et après quelques essais c'est bien le dmS qu'il faut

        user@g1:~# screen -dmS S1 top
        user@g1:~# screen -dmS S2 top
        user@g1:~# screen -dmS S3 top
        user@g1:~# screen -ls
        There are screens on:
            8346.S3 (12/04/2019 06:57:15 PM)    (Detached)
            8325.S2 (12/04/2019 06:57:11 PM)    (Detached)
            8263.S1 (12/04/2019 06:57:06 PM)    (Detached)
        3 Sockets in /run/screen/S-root.

        attention, si le processus DANS le screen (ici mon top) s'arrête, le screen s'arrête et disparait.

        c'est peut-être là ton souci

        le -R reste valide au 2e lancement, pour se rattacher au screen existant.

        • [^] # Re: R pour Rattacher

          Posté par  (site web personnel) . Évalué à 1. Dernière modification le 10 décembre 2019 à 07:47.

          Perso je fais ceci pour (re)lancer X instances de serveur de jeux

          screen -S MonNomDeScreen -d -m ${GAME_PATH}/MonExe -p My params
          

          Bref comme toi :x

          Is it a Bird? Is it a Plane?? No, it's Super Poil !!!

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.