Je veux exécuter un script bash dans un écran détaché. Le script appelle un programme plusieurs fois, chacun prenant trop de temps à attendre. Ma première pensée a été d'ouvrir simplement un écran, puis d'appeler le script, mais il semble que je ne puisse pas me détacher (par ctrl-a d
) pendant l'exécution du script. J'ai donc fait quelques recherches et trouvé cette instruction pour remplacer le shebang par ce qui suit:
#!/usr/bin/screen -d -m -S screenName /bin/bash
Mais cela ne fonctionne pas non plus (les options ne sont pas reconnues). Aucune suggestion?
PS: Il me vient à l'esprit que screen -dmS name ./script.sh
cela fonctionnerait probablement pour mes besoins, mais je suis toujours curieux de savoir comment intégrer cela dans le script. Merci.
la source
"$0"
ça sert ici?screen
qui invoque/bin/bash
qui invoque à nouveau le script.Selon les pages de manuel de l'écran:
screen -d -m
Écran de démarrage en mode détaché. Cela crée une nouvelle session mais ne s'y attache pas. Ceci est utile pour les scripts de démarrage du système.-S sessionname
Définissez le nom de la nouvelle session sur sessionname.Donc, quand j'ai exécuté la commande que vous avez fournie:
screen -dmS name ./script.sh
L'écran démarre une fenêtre appelée nom et exécute automatiquement ce script.sh. Pour y revenir pour voir le statut, il vous suffit de taper:
screen -r test
Maintenant avec Ubuntu 14.04, les commandes sont légèrement différentes. Essayer:
screen -d -m -S test
Maintenant, pour exécuter le script, vous devrez aller dans leur fichier de configuration pour le faire:
sudo vim /etc/screenrc
Une fois là-bas, faites défiler vers le bas et vous verrez:
C'est la section où vous devrez ajouter le nom du script à exécuter et qui devrait vous permettre de faire tout ce dont vous avez besoin à partir de l'écran.
la source
screen -dmS ...
) ne fonctionne pas pour moi, même si elle le devrait vraiment. Je l'exécute et puisscreen -ls
et aucune prise n'est trouvée. Pensées?C'est un peu vieux mais l'un des rares fils que j'ai pu trouver pour le faire. Après avoir joué, le seul moyen de le faire fonctionner en mode détaché avec ubuntu 14. est
Le lancement serait la deuxième partie ci-dessus qui héberge les commandes java actuelles et la version du serveur. Je lance de la vanille.
la source