La funzione Execvp () appartiene alla famiglia Exec. Nell'argomento di oggi, discuteremo le caratteristiche e l'applicazione della funzione ExecVP () sotto la famiglia Exec.
La funzione della famiglia Exec in C lingua ci aiuta a eseguire altri programmi all'interno del nostro programma. Per fare questo dall'interno del mio programma utilizziamo una serie di funzioni chiamata Famiglia Exec Family of Function e questi sono nel programma Linux.
Applicazione della funzione Execvp ()
Se vogliamo eseguire un ping del programma, possiamo applicarlo tramite EXECVP (). Per questo, dobbiamo usare l'array. La funzione di lettera "V" utilizzata per Execvp () sta per Vector.
Sintassi
La sintassi per Execvp ():
int execvp (file const char *, char *const)Qui, il primo parametro è un puntatore del file che punta un file che deve essere eseguito nel programma.
Il secondo parametro è una costante di punta.
Esempio di programmazione 1
Qui, vedremo come funziona effettivamente nel nostro programma.
#includereProduzione
Spiegazione
In questo esempio di programmazione, se vogliamo eseguire il ping di "Google.com "Con l'aiuto di Execvp () nella piattaforma Linux, dobbiamo includere un file di intestazione chiamato UNISTD.H nel nostro programma.
Per eseguire la funzione Execvp (), dobbiamo dichiarare un array (effettivamente array di stringa) denominato AR [] e inizializzare alcuni valori come "ping" ", Google.com "e null.
Ora, se proveremo a passare la matrice di argomenti all'interno della funzione tra parentesi di Execvp (), noteremo che sta facendo il ping di Google.com come output.
Esempio di programmazione 2
Qui mostriamo un'altra applicazione della funzione Execvp ().
#include // incluso questo file per la piattaforma LinuxProduzione
Spiegazione
In questo esempio di programmazione, vedremo se la funzione Execvp () restituirà un valore falso. Se la funzione Execvp () restituisce un valore falso, quindi ha stampato il valore di "errorno " che è 2 e stampare il messaggio che "Nessun file o directory con questo nome".
Se la funzione Execvp () restituisce il valore reale, qualsiasi istruzione dopo ExeCVP non verrà eseguita. Come sappiamo dalle caratteristiche della funzione ExecVP (), nessuna riga viene eseguita quando Execvp () la funzione prende il controllo del programma.
Esempio di programmazione 3
In questo esempio di programmazione, vedremo l'importante applicazione della funzione Execvp () relativa al fork () o al processo.
#includereProduzione
Spiegazione
Come tutte le funzioni della famiglia Exec in C, ExecVP () può eseguire altri programmi all'interno del nostro programma.
In questo esempio di programmazione, dichiariamo un array di caratteri o un nome di stringa arg_ls []. All'interno di questa stringa, inizializziamo alcuni valori e anche null. Quindi, chiamiamo un altro processo chiamato FORK ().
Qui, la funzione Execvp () restituisce il vero valore. Quindi, la funzione fork () può eseguire correttamente la sua azione. In caso contrario, andrà al programma principale.
Esempio di programmazione 4
Qui vedremo un'altra funzione della funzione Execvp ().
#includereProduzione
Spiegazione
L'esempio di programmazione sopra è la versione modificata dell'esempio di programmazione 3. Qui vedremo se la funzione fork () restituirà '0'. Quindi, il processo figlio eseguirà il loro codice ed è controllato da “Ls-“ l comando. Il valore che restituirà Execvp () è assegnato a una variabile denominata sts_cd. Se sts_cd vedremo il valore -1, quindi capiremo che si tratta di un errore della funzione Execvp (). Altrimenti, questa funzione prende il controllo sul resto del programma.
Conclusione
Dalla discussione di cui sopra sull'implementazione di ExeCVP () nella famiglia Exec, siamo giunti alla conclusione che sostituisce un'immagine di processo con una nuova immagine nella nostra RAM (Accesso casuale) per eseguire il nuovo processo. In realtà, questa funzione aiuta il nostro sistema operativo a gestire tutti i processi pronti ad eseguire dal processore con meno tempo.