לערן די לינוקס קאַמאַנד - עקסאַק

נאָמען: עקסקל, עקסעקלפּ, ויספירן, עקסעקוו, עקסעקוופּ - ויספירן אַ טעקע

סינאָפּסיס

# ינקלודע <וניסטד.ה>

extern char ** environ;

int execl (const char * path , const char * arg , ...);
איר עקסעעקלפּ (קאָנסט טשאַר * טעקע , קאָנסט טשאַר * אַרג , ...);
int execle (const char * path , const char * arg , ..., char * const envp []);
ינט עקסעקוו (קאָנסט טשאַר * דרך , טשאַר * קאָנסט אַרגוו []);
int execvp (const char * טעקע , char * const argv []);

באַשרייַבונג

די דערפינדונג פון משפּחה פאַנגקשאַנז ריפּלייסיז דעם קראַנט פּראָצעס בילד מיט אַ נייַע פּראָצעס בילד. די פאַנגקשאַנז דיסקרייבד אין דעם מאַנואַל בלאַט זענען פראָנט-ענדס פֿאַר די פונקציע עקסאַקיו (2). די ערשט אַרגומענט פֿאַר די פאַנגקשאַנז איז די פּאַטהסאַמע פון ​​אַ טעקע אַז איז עקסאַקיוטאַד.

די קאָנסט טשאַר * אַרג און סאַבסאַקוואַנט עלליפּסעס אין די עקסעק , עקסעקלפּ , און ויספירן פאַנגקשאַנז קענען זיין געדאַנק פון ווי אַרג 0 , אַרג 1 , ..., אַרגנ . צוזאַמען זיי באַשליסן אַ רשימה פון איין אָדער מער פּוינטערז צו נאַל-טערמאַנייטאַד סטרינגס אַז פאָרשטעלן די אַרגומענט רשימה בנימצא צו די עקסאַקיוטאַד פּראָגראַם. דער ערשטער אַרגומענט, דורך קאַנווענשאַן, זאָל פונט צו די טעקע נאָמען פארבונדן מיט דער טעקע זייַענדיק עקסאַקיוטיד. דער רשימה פון טענות מוזן זיין טערמאַנייטיד דורך אַ נול טייַטל.

די עקסעקוו און עקסעקוופּ פאַנגקשאַנז צושטעלן אַ מענגע פון ​​פּאָינטערס צו נאַל-טערמאַנייטאַד סטרינגס אַז פאָרשטעלן די אַרגומענט רשימה בנימצא צו די נייַע פּראָגראַם. דער ערשטער אַרגומענט, דורך קאַנווענשאַן, זאָל פונט צו די טעקע נאָמען פארבונדן מיט דער טעקע זייַענדיק עקסאַקיוטיד. די מענגע פון ​​די פּוינטערז מוזן זיין טערמאַנייטיד דורך אַ נול טייַטל.

דער דורכפֿאַל פונקציע אויך ספּעסאַפייז די סוויווע פון ​​די עקסאַקיוטאַד פּראָצעס דורך פאלגענדע די NULL טייַטל וואָס טערמינייץ די רשימה פון אַריינמאַרקס אין די פּאַראַמעטער רשימה אָדער די טייַטל צו די אַרגוו מענגע מיט אַן נאָך פּאַראַמעטער. דעם נאָך פּאַראַמעטער איז אַ מענגע פון ​​פּאָינטערס צו נול-טערמאַנייטאַד סטרינגס און מוזן זיין טערמאַנייטיד דורך אַ נול טייַטל. די אנדערע פאַנגקשאַנז נעמען די סוויווע פֿאַר די נייַ פּראָצעס בילד פון די פונדרויסנדיק בייַטעוודיק ינווייראַנמאַנץ אין דעם קראַנט פּראָצעס.

עטלעכע פון ​​די פאַנגקשאַנז האָבן ספּעציעל סעמאַנטיקס.

די פאַנגקשאַנז עקסעקלפּ און עקסעקוופּ וועט דופּליקאַט די אַקשאַנז פון די שאָל אין זוכן פֿאַר אַ עקסעקוטאַבלע טעקע אויב די ספּעסאַפייד טעקע נאָמען טוט נישט אַנטהאַלטן אַ שאָס (/) כאַראַקטער. דער זוכן דרך איז די וועג ספּעסאַפייד אין די סוויווע דורך די פּאַד בייַטעוודיק. אויב דעם פֿארבינדירונג איז ניט ספּעסאַפייד, די פעליקייַט פיוט '`: / בין: / וסר / בין' 'איז געניצט. אין דערצו, זיכער ערראָרס זענען ספּעשאַלי באהאנדלט.

אויב דערלויבעניש איז געלייקנט פֿאַר אַ טעקע (די געפרוווט ויספאָרשן אומגעקערט עאַסקעס ), די פאַנגקשאַנז וועט פאָרזעצן זוכן די רעסט פון דעם זוכן וועג. אויב קיין אנדערע טעקע איז געפונען, אָבער, זיי וועלן צוריקקומען מיט די גלאבאלע בייַטעוודיק ערנז שטעלן צו EACCES .

אויב דער כעדער פון אַ טעקע איז נישט דערקענט (די געפרוווט ויספאָרשן אומגעקערט ENOEXEC ), די פאַנגקשאַנז וועט ויספירן די שאָל מיט די דרך פון די טעקע ווי זייַן ערשטער אַרגומענט. (אויב דאָס פּרווון פיילז, קיין ווייַטער זוך איז געטאן.)

Return Value

אויב קיין פון די עקסאַקיוטינג פונקטן קערט, אַ טעות וועט זיין געפונען. דער צוריקקער ווערט איז -1, און די גלאבאלע בייַטעוודיק ערנז וועט זיין באַשטימט צו אָנווייַזן דעם טעות.