Si je pose ce problème à l'invite bash: $ cmd_1; cmd_2Contrôle de travail de Bash - Pouvez-vous terminer la deuxième commande de la liste sans la terminer en premier?
cmd_1 est au premier plan. Puis-je empêcher l'exécution de cmd_2 sans interrompre cmd_1? J'ai jusqu'à ce que cmd_1 finisse, quand cmd_2 commencera, et alors il est trop tard.
Je ne pense pas que ce soit possible, mais peut-être avec le contrôle du travail?
Est-ce que -Z $ bg pousse les deux commandes dans le bg? Au lieu de cela, cmd_1 va-t-il à la bg et cmd_2 est (où? "En arrière-plan?" Comme @ cmd?) Attend toujours la sortie de cmd_1?
Les commandes n'ont pas été invoquées conditionnellement, ala "cmd_1 & & cmd_2", et les commandes n'étaient pas non plus mises en arrière-plan lors de l'invocation. cmd_1 est en cours d'exécution dans fg, cmd_2 doit encore être exécuté. Le visagepalm ici est que cmd_1 va prendre beaucoup de temps à compléter, cmd_2 est destructeur et je ne voudrais vraiment pas avoir à interrompre et refaire cmd_1 encore une fois. J'aimerais juste que cmd_1 se termine et que cmd_2 ne fonctionne pas du tout.
Je pourrais provoquer l'échec de cmd_2 en déplaçant cmd_2 vers cmd_2.sav jusqu'à ce que cmd_1 se termine et aboutir à un "-bash: cmd_2: commande non trouvée" mais j'espérais une solution plus élégante. cmd_2 pourrait être utilisé par d'autres avant la fin de cmd_1. (Oui, je pourrais envelopper cmd_2.real dans un wrapper cmd_2 avec un test d'utilisateur ou quelque chose, mais de cette façon se trouve la folie).
Votre hypothèse est incorrecte. Cmd2 ne s'exécutera que lorsque cmd1 se terminera. Essayez 'cmd1 && cmd2' pour le faire fonctionner seulement si cmd1 réussit. – tripleee
Merci pour la clarification sur le démarrage de cmd_2. La question suppose que la commande est invoquée, et non une méthode différente d'invocation. La question est sur la façon de modifier une commande en attente dans la "pile de commandes" (en supposant une telle chose dans l'interpréteur) – ChrisSM
Je relis le commentaire et vois la confusion dans le libellé de ma question. Édité. – ChrisSM