Manuel de commande d'exécution Linux

王林
Libérer: 2024-02-18 16:42:13
avant
833 Les gens l'ont consulté

Linux exec命令手册

Description de la fonction

La commande exec est utilisée sous Linux pour appeler et exécuter des commandes spécifiées. La commande exec est généralement utilisée dans les scripts shell pour exécuter d'autres commandes. Lors de l'utilisation de la commande exec dans le terminal actuel, la commande spécifiée remplacera le processus actuel après l'exécution, au lieu de créer un nouveau processus enfant.

Syntaxe des commandes

exec [选项]
Copier après la connexion

Option signifiant

Options Signification
-c Utilisez un environnement vide pour exécuter
-a Le shell transmettra le nom sans argument à la commande exécutée
-l Placez un tiret au début du shell pour passer des paramètres à la commande

Exemples de référence

Exemple 1

// 首先使用echo命令将文本“www.linuxyz.cn”进行输出:
[root@bunian ~]# echo www.bunian.cn
www.bunian.cn

// 然后再使用exec命令调用echo命令输出同样的信息,并且对输出的信息进行对比,输入指令如下所示:
[root@bunian ~]# exec -c echo www.bunian.cn
www.bunian.cn

// 通过比较两者执行后的结果来看,所实现的功能是相同的,即使用exec命令调用echo命令成功。
Copier après la connexion

Exemple 2

// 查找bunian.txt 并备份为bunian.txt.bak
[root@bunian ~]# find /test -name "bunian.txt" -exec cp {} {}.bak \;
Copier après la connexion

Expansion des connaissances

1. L'exécutable de l'appel système remplace le processus d'origine par un nouveau processus, mais le PID du processus reste inchangé. Par conséquent, on peut considérer que l’appel système exec ne crée pas de nouveau processus, mais remplace uniquement le contenu du contexte de processus d’origine. Le segment de code, le segment de données et le segment de pile du processus d'origine sont remplacés par le nouveau processus.

Une démarche comprend principalement les aspects suivants :

  • Un programme exécutable
  • Toutes les données associées au processus (y compris les variables, la mémoire, les tampons)
  • Contexte du programme (compteur de programme PC, enregistre l'emplacement d'exécution du programme)
  • 2. exec est un cluster de fonctions, composé de 6 fonctions, commençant par excl et execv.

    Pour exécuter l'appel système exec, c'est généralement le cas. Utilisez la fonction fork() pour créer un nouveau processus, puis laissez le processus exécuter l'appel exec. Nous savons qu'après que fork() ait créé un nouveau processus, le processus parent partage le segment de code avec le processus enfant, mais l'espace de données est séparé, mais le processus parent copiera le contenu de son propre espace de données dans le processus enfant, et le contexte sera également copié dans le processus enfant. Afin d'améliorer l'efficacité, une stratégie de copie sur écriture est adoptée, c'est-à-dire que lorsqu'un processus enfant est créé, l'espace d'adressage du processus parent n'est pas copié. Les processus parent et enfant ont un espace d'adressage commun, et uniquement. lorsque le processus enfant a besoin d'écrire des données (par exemple, pour écrire des données dans le tampon), à ce moment-là, l'espace d'adressage sera copié et le tampon sera copié dans le processus enfant. En conséquence, les processus parent et enfant disposent d’espaces d’adressage indépendants. Pour exec après fork(), cette stratégie peut grandement améliorer l'efficacité si vous copiez au début, puis après exec, les données du processus enfant seront abandonnées et remplacées par un nouveau processus.

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Étiquettes associées:
    source:mryunwei.com
    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal