Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Besturingssysteem >> unix >> Content
Wanneer keert een oproep om exec in Unix terug te keren?
In Unix keert een oproep aan `exec` nooit terug Als het lukt. Dit is waarom:

* vervanging, niet uitvoering: `exec` voert * een nieuw programma niet uit in traditionele zin. Het * vervangt * de afbeelding van het huidige proces door de afbeelding van het nieuwe programma. Dit betekent dat het originele proces in wezen verdwijnt en het nieuwe programma zijn plaats inneemt.

* Directe besturingsoverdracht: De `exec` -systeemoproep rechtstreeks transfers controle naar het nieuwe programma zonder terug te keren naar de beller. Het is alsof het oorspronkelijke proces "verwisit" is voor de nieuwe.

Voorbeeld:

`` `C

#include

int main () {

// Probeer het huidige proces te vervangen door "LS -L"

if (execlp ("ls", "ls", "-l", null) ==-1) {

// bereik dit alleen als execlp faalt

Perror ("ExecLP mislukt");

retourneer 1;

}

// Deze lijn zal nooit worden bereikt

printf ("Dit wordt nooit afgedrukt. \ n");

retourneer 0;

}

`` `

Waarom `exec` nuttig is

* Efficiëntie: Het vermijdt de overhead van het creëren van een nieuw proces en het beheren van de geheugenruimte.

* Directe controle: Biedt een mechanisme voor een proces om naadloos over te gaan naar een ander programma.

Key Points

* `exec` varianten (` execl`, `execv`,` execlp`, `execvp`) hebben allemaal hetzelfde gedrag in termen van retourwaarden.

* Als `exec` mislukt (bijvoorbeeld bestand niet gevonden, toestemmingsproblemen), retourneert het` -1` en stelt het `errno` in om de fout aan te geven.

* Om een ​​programma een ander te laten uitvoeren en vervolgens door te gaan, moet u 'vork' gebruiken om een ​​onderliggende proces te maken voordat u 'exec' in het kind belt.

Laat het me weten als je nog andere vragen hebt over `exec` of processen in Unix!

Previous: Next: No
  unix
·Een tutorial voor AIX Unix 
·Hoe een bestand in Unix Unzip 
·Hoe te gebruiken EXPR om Algeb…
·Unix is ​​minder stabiel dan M…
·Hoe vind je de betekenis van e…
·Hoe kan ik dubbele lijnen verw…
·Hoe de inhoud van een bestand …
·Een tutorial voor montage in U…
·Wat is shell -scripting? 
  Related Articles
Drie dingen noemen die informatie in een…
Wat kan een computer die 6 jaar oud is, …
Welk deel van een computer voert bereken…
Hoe kan een computer taken uitvoeren op …
Wat zijn de concepten van een computer? 
5 dingen die een computer kan doen en ze…
5 belangrijke kwaliteiten van een progra…
Wat is er nodig om een ​​computer te mak…
Hoe leg ik uit hoe een computer in mijn …
  Besturingssysteem Articles
·Kan Microsoft-software op Mac worden geï…
·Help : Hoe kan ik Windows XP -instelling…
·Gebruik van computer in verschillende ve…
·Hoe je dingen downloaden op Vista ook al…
·Register instellen voor Screensaver Time…
·Hoe maak je een Weduwen creëren XP Boot…
·Hoe stop ik een HP Laptop Van Het verand…
·Hoe kan ik een printer met In Leopard 
·Wanneer heeft Mac Book Pro Mountain Lion…
Copyright © Computer Kennis https://www.nldit.com