Bash exécuter la commande en arrière-plan

Bash Run Command Background



Lorsqu'ils utilisent la ligne de commande sous Linux, les utilisateurs doivent généralement attendre qu'une commande s'exécute avant de passer à la suivante. Les commandes semblent généralement fonctionner correctement et leur exécution ne prend pas beaucoup de temps. Le cd est l'exemple courant, pour lequel les utilisateurs exécutent simplement les commandes et passent rapidement d'un répertoire à un autre pour exécuter les fonctions pertinentes et requises. Les commandes s'exécutent et s'exécutent en très peu de temps, comme en quelques secondes et fournissent des informations utiles dont l'utilisateur a besoin.

Parfois, les processus peuvent prendre un peu plus de temps à s'exécuter et à terminer leur exécution. C'est à ce moment-là que l'exécution un par un peut devenir un peu difficile pour l'utilisateur. Cela peut impliquer l'envoi ou la surveillance de la sortie vers ses journaux. De tels processus peuvent prendre une durée plus longue de manière inattendue car la compilation de code n'est pas toujours fluide. De cette façon, en attendant, lorsque la compilation est en cours, les utilisateurs peuvent ne pas être en mesure d'accéder au système tant que la compilation n'est pas terminée. Pendant la compilation, le terminal ne peut pas être utilisé tant qu'il n'est pas terminé. Pour continuer le travail normal pendant que vous traitez une commande, les utilisateurs doivent savoir comment exécuter des commandes en arrière-plan sous Linux. Parcourons ce tutoriel pour en savoir plus.







Pour exécuter l'arrière-plan de la commande dans Linux Mint 20, vous devez ouvrir le Terminal de Menu en bas à gauche de l'écran, puis sélectionnez l'option Terminal dans la liste des applications disponibles.



Une fois le terminal ouvert, vous pouvez désormais exécuter des commandes en arrière-plan ou les envoyer en arrière-plan selon les besoins de l'utilisateur pour fonctionner correctement.



Noter: Pour entrer dans le bash, l'utilisateur doit avoir un compte sudo avec des droits.





Utiliser le & pour exécuter une commande en arrière-plan :

Les utilisateurs peuvent exécuter les commandes à exécuter en arrière-plan s'ils ajoutent le caractère &. Cela impliquera que pendant que les commandes sont en cours d'exécution, les utilisateurs peuvent toujours s'occuper du travail pertinent en parallèle, sans aucune interruption. À titre d'exemple, regardons la commande pour ajouter des nombres dans un fichier texte.

Ici, la sortie ressemblerait à une image apposée :



Les données entre crochets correspondent au numéro de travail du processus d'arrière-plan et le prochain ensemble de chiffres est l'ID du processus.

Noter: Dès que le processus ci-dessus doit s'exécuter, l'invite de commande réapparaît, ce qui permet aux utilisateurs de reprendre leur travail en exécutant les commandes en arrière-plan selon les besoins de l'utilisateur. Si nous avions émis la commande sans la terminer par le caractère &, il n'y aurait eu aucune interaction de l'utilisateur et elle aurait été complètement bloquée à moins que l'action ne soit terminée.

Pour envoyer une commande en cours d'exécution en arrière-plan :

Si les utilisateurs ont déjà lancé une certaine commande et pendant qu'ils utilisaient leur système, leur ligne de commande se bloque, ils peuvent alors suspendre l'exécution de leur processus actuellement au premier plan en utilisant ctrl+z pour Windows et commande+z pour les systèmes mac. Ils mettront leurs processus dans une phase d'arrêt temporaire, puis cela les aidera à utiliser l'ID de travail, que nous avons déjà vu plus tôt et qui a été écrit entre crochets.

Noter: Cette fois, supprimez le caractère & qui a été ajouté précédemment avant d'appliquer les touches ctrl+z.

Le processus de premier plan est maintenant suspendu, et connaissant l'ID du travail, nous sommes maintenant en mesure de définir et d'ajuster l'arrière-plan. Nous pouvons le faire en tapant simplement ceci sur notre ligne de commande :

$bg 1

Ici, comme déjà mentionné ci-dessus, 1 est notre ID de tâche. Maintenant, il est temps de vérifier l'arrière-plan avec l'état des tâches en cours d'exécution. Tapez jobs -l dans votre ligne de commande, puis appuyez sur Entrée. La sortie montre notre processus s'exécutant en arrière-plan, comme illustré dans la capture d'écran ci-dessous :

$travaux–l

Le processus est maintenant de nouveau activé et exécuté en arrière-plan.

Pour mettre un processus d'arrière-plan au premier plan :

Les utilisateurs peuvent également facilement mettre le processus d'arrière-plan au premier plan en utilisant simplement fg [numéro de travail] à côté.

$fgnuméro de travail

Noter: vous pouvez utiliser n'importe quel numéro de travail souhaité


Maintenant, encore une fois, les utilisateurs peuvent utiliser les touches ctrl + z pour suspendre à nouveau le processus. C'est un moyen facile de mettre le processus d'abord au premier plan, puis de l'arrêter.

Pour tuer une tâche en arrière-plan :

Les utilisateurs peuvent non seulement exécuter et déplacer différents processus à l'aide des commandes d'arrière-plan, mais ils peuvent également tuer un travail ou un processus spécifique en utilisant % avant l'ID. L'exemple ci-dessous montre la même commande. Tapez simplement kill %1 car dans notre cas, nous avons utilisé 1.

$tuer %numéro de travail

Dans votre cas, vous pouvez essayer en remplaçant le numéro 1 en gras par votre numéro de travail spécifique.

Noter: Vous pouvez également revérifier le processus de suppression en utilisant jobs -l. Il affichera la liste de tous les travaux terminés.

Conclusion:

Lorsque les utilisateurs exécutent une commande en arrière-plan, ils n'ont désormais plus besoin d'attendre qu'elle se termine avant d'exécuter la suivante. Les options décrites ci-dessus couvrent toutes les informations connexes pour mieux faciliter aux utilisateurs l'exécution et le déplacement du processus, des tâches et des commandes n'importe où en fonction de leurs besoins en leur offrant suffisamment de flexibilité. Ce didacticiel sera utile à tous les utilisateurs qui envisagent de travailler sur le système d'exploitation Linux et souhaitent travailler en parallèle avec plusieurs processus s'exécutant sur leurs systèmes. De cette façon, ils peuvent soit envoyer les commandes en cours d'exécution en arrière-plan, soit utiliser l'opérateur & en l'ajoutant à la fin de leurs commandes, puis en le déplaçant en arrière-plan. Les pointeurs mentionnés ici avec des exemples vous aideront également à mettre les processus au premier plan. Non seulement cela, mais vous pouvez également supprimer un travail d'arrière-plan.