exécuter xterm -e sans arrêt
Je veux lancer un xterm -e file.sh sans y mettre fin.
Dans le fichier, je suis d'envoyer les commandes à l'arrière-plan et quand le script est fait, ils ne sont toujours pas finis.
Ce que je fais actuellement est:
(cd /myfolder; /xterm -ls -geometry 115x65 -sb -sl 1000)
et puis après la fenêtre pop-up
sh file.sh
exit
Ce que je veux faire, c'est quelque chose comme:
(cd /myfolder; /xterm -ls -geometry 115x65 -sb -sl 1000 -e sh file.sh)
sans arrêt et attendez jusqu'à ce que les commandes en arrière-plan de la finition.
Ce que quelqu'un sait comment faire cela?
Ne pas le fond de vos commandes. Est ce qu'une option?
non, je suis un peu ensemble
Puis-je vous suggérer d'explorer GNU
Je vais le garder à l'esprit pour la prochaine fois, je suis un clin loin de la finition d'un grand projet 🙂
Aussi explorer
non, je suis un peu ensemble
Puis-je vous suggérer d'explorer GNU
screen
en tant que gestionnaire du terminal au lieu d'utiliser un graphique gestionnaire du terminal? Jetez un oeil à www.gnu.org/s/screen/. Des paquetages sont disponibles pour toutes les saveurs de linux (dans leur package par défaut repos). Vous pouvez ensuite vous connecter à l'écran pour le gestionnaire du terminal de votre choix. Pas la solution que vous cherchez, mais une meilleure option à long terme.Je vais le garder à l'esprit pour la prochaine fois, je suis un clin loin de la finition d'un grand projet 🙂
Aussi explorer
wait
shell builtin. Il attend les rapports et les commandes envoyées à l'arrière-plan avec &
. Vous aurez besoin d'utiliser à la fin de votre script. Il va garder votre script de fin d'arrière-plan jusqu'à ce que tous les travaux sont achevés.OriginalL'auteur jarhead | 2012-06-01
Vous devez vous connecter pour publier un commentaire.
Utilisation
hold
option:OriginalL'auteur imwilsonxu
J'ai essayé, et il laisse xterm dans un état qui ne répond pas que nécessite la fermeture de la non-standard (le gestionnaire de fenêtre, une commande kill). Si vous préférez une coquille ouverte à partir de laquelle vous pouvez sortir, essayez d'ajouter que la coquille à la fin de votre commande:
Je suis tombé sur la réponse sur Super Utilisateur.
OriginalL'auteur Gid
Utiliser le
wait
intégré dans votre script shell. Il va attendre jusqu'à ce que toutes les tâches en arrière-plan sont finis.De Travail Exemple:
La sortie
wait
sans${!}
attend pour tous les emplois. Cependantwait ${!}
attend le dernier arrière-plan PID. si le dernier travail se termine avant que les anciens travaux, vous aurez la sortie même si les travaux sont en cours.ur droit, tnx à nouveau..
OriginalL'auteur Samveen
Bâtiment sur un previoius réponse, si vous spécifiez $SHELL à la place de bash, il utilisera les utilisateurs shell préféré.
OriginalL'auteur Dan