execvp () Funktion gehört zur Exec -Familie. Im heutigen Thema werden wir die Merkmale und die Anwendung der Funktion von execVP () unter Exec -Familie diskutieren.
Die Funktion der Exec -Familie in C -Sprache hilft uns, andere Programme in unserem Programm auszuführen. Um dies aus meinem Programm zu tun.
Anwendung von execvp () Funktion
Wenn wir ein Programmping ausführen möchten, können wir dies über execvp () -Funktion anwenden. Dafür müssen wir Array verwenden. Der für execvp () verwendete Buchstaben 'V' steht für Vector.
Syntax
Die Syntax für execvp () Funktion:
int execvp (const char *Datei, char *const)Hier ist der erste Parameter ein Dateizeiger, der eine Datei zeigt, die im Programm ausgeführt werden soll.
Der zweite Parameter ist eine Zeigerkonstante, die im Typ Zeichen ist und als Null -Terminator verwendet wird.
Programmierbeispiel 1
Hier werden wir sehen, wie execvp () Funktionen in unserem Programm tatsächlich funktioniert.
#enthaltenAusgang
Erläuterung
In diesem Programm -Beispiel, wenn wir das „Google“ pingen wollen.com ”Mit Hilfe von execvp () in der Linux -Plattform müssen wir eine Header -Datei namens Unistd einbeziehen.h in unserem Programm.
Um die Funktion execvp () auszuführen, müssen wir ein Array (tatsächlich Array von String) mit dem Namen AR [] deklarieren und einige Werte wie „Ping“ initialisiert haben, Google.com ”und null.
Wenn wir nun versuchen werden, das Argument -Array in der Klammung von execvp () zu übergeben, werden wir feststellen, dass sie das Google ping.com als Ausgabe.
Programmierbeispiel 2
Hier zeigen wir eine weitere Anwendung von execvp () Funktionen.
#Include // einschließlich dieser Datei für die Linux -Plattform einbeziehenAusgang
Erläuterung
In diesem Programm -Beispiel werden wir feststellen, ob die Funktion execvp () den falschen Wert zurückgibt. Wenn execvp () Funktion den falschen Wert zurückgibt, druckte sie den Wert von “ausErrorno ” Welches ist 2 und drucken Sie die Nachricht, dass "Keine solche Datei oder Verzeichnis".
Wenn execvp () Funktion den tatsächlichen Wert zurückgibt, wird eine Anweisung nach EXECVP nicht ausgeführt. Wie wir aus den Eigenschaften der Funktion execvp () wissen, wird keine Zeile ausgeführt, wenn die Funktion execvp () die Kontrolle über das Programm übernimmt.
Programmierbeispiel 3
In diesem Programmierbeispiel sehen wir die wichtige Anwendung der Funktion execVP () im Zusammenhang mit der Fork () oder dem Prozess.
#enthaltenAusgang
Erläuterung
Wie alle Funktionen der EXEC -Familie in C kann die Funktion execvp () andere Programme in unserem Programm ausführen.
In diesem Programm -Beispiel deklarieren wir ein Charakter -Array oder einen String -Namen arg_ls []. In dieser Zeichenfolge initialisieren wir auch einige Werte & Null. Dann nennen wir einen anderen Prozess namens fork ().
Hier gibt execvp () Funktion den wahren Wert zurück. Die Funktion fork () kann also ihre Aktion erfolgreich ausführen. Wenn nicht, wird es zum Hauptprogramm gehen.
Programmierbeispiel 4
Hier sehen wir eine weitere Funktion der Funktion execvp ().
#enthaltenAusgang
Erläuterung
Das obige Programmierbeispiel ist die modifizierte Version des Programmierbeispiels 3. Hier werden wir sehen, ob die Funktion fork () '0' zurückgibt. Dann führt der untergeordnete Prozess ihren Code aus und wird von gesteuert von LS- “L Befehl. Der Wert, der execvp () zurückgibt STS_CD. Wenn STS_CD Wird den Wert -1 sehen, dann werden wir verstehen, dass es sich um einen Fehler der Funktion execvp () handelt. Andernfalls übernimmt diese Funktion die Kontrolle über den Rest des Programms.
Abschluss
Aus der obigen Diskussion über die Implementierung von execVP () in der Exec -Familie sind wir zu dem Schluss gekommen, dass es ein Prozessbild durch ein neues Bild in unserem RAM (Random Access Memory) ersetzt, um den neuen Prozess auszuführen. Tatsächlich hilft diese Funktion unserem Betriebssystem, alle Prozesse zu verwalten, die vom Prozessor mit weniger Zeit ausgeführt werden können.