Ծրագրային Ապահովման

Linux / Unix հրամանի 'execvp'

Հեղինակ: Robert Simon
Ստեղծման Ամսաթիվը: 22 Հունիս 2021
Թարմացման Ամսաթիվը: 12 Մայիս 2024
Anonim
Linux / Unix հրամանի 'execvp' - Ծրագրային Ապահովման
Linux / Unix հրամանի 'execvp' - Ծրագրային Ապահովման

Բովանդակություն

Theկատարել գործառույթների ընտանիքը փոխարինում է ընթացիկ գործընթացի պատկերը նոր գործընթացի պատկերով: Այստեղ նկարագրված գործառույթները գործառույթի համար առջևի ծայրեր ենկատարել(2). 

Այս գործառույթների համար նախնական փաստարկը այն ֆայլի ուղին է, որը պետք է կատարվի:

Theconst char * arg և դրան հաջորդող էլիպսերըexeclմահապատժի, ևմահապատժի գործառույթները կարելի է համարել որպեսarg0arg1, ..., argn. Նրանք միասին նկարագրում են չեզոքացված տողերի մեկ կամ մի քանի ցուցիչների ցուցակը, որոնք ներկայացնում են կատարված ծրագրի համար մատչելի փաստարկների ցուցակը: Առաջին փաստարկը, ըստ պայմանագրերի, պետք է նշի այն ֆայլի անունը, որը կապված է գործի ֆայլի հետ: Փաստարկների ցանկըպետք է դադարեցվել է աԴԱՏԱՐԿ ցուցիչ


Theexecv ևexecvp գործառույթները մատնանշում են զրոյական դադարեցված տողերի ցուցիչների մի շարք, որոնք ներկայացնում են նոր ծրագրին մատչելի փաստարկների ցուցակը: Առաջին փաստարկը, ըստ պայմանագրերի, պետք է նշի այն ֆայլի անունը, որը կապված է գործի ֆայլի հետ: Pointուցանիշների զանգվածպետք է դադարեցվել է աԴԱՏԱՐԿ ցուցիչ

Theմահապատժի գործառույթը նաև սահմանում է կատարված գործընթացի միջավայրը `հետևելով դրանԴԱՏԱՐԿցուցիչ, որն ավարտում է պարամետրերի ցուցակի փաստարկների ցանկը կամ argv array- ի ցուցիչի ցուցիչը լրացուցիչ պարամետրով: Այս լրացուցիչ պարամետրը զրոյական դադարեցված տողերի ցուցիչների զանգված էպետք է դադարեցվել է աԴԱՏԱՐԿ ցուցիչ Մյուս գործառույթները հաշվի են առնում արտաքին փոփոխականից նոր գործընթացների պատկերի միջավայրըշրջակա միջավայր ընթացիկ գործընթացում:

Այս գործառույթներից մի քանիսը ունեն հատուկ իմաստաբանություն:

Գործառույթներըմահապատժի ևexecvp կրկնօրինակելու է կեղևի գործողությունները կատարողական ֆայլ որոնելու դեպքում, եթե նշված ֆայլի անունը չի պարունակում կտրատված (/) բնույթ: Որոնման ուղին շրջակա միջավայրում նշված ճանապարհն էՊԱՇ փոփոխական: Եթե ​​նշված փոփոխականությունը նշված չէ, օգտագործվում է «`: / bin: / usr / bin »կանխադրված ուղին: Բացի այդ, որոշակի սխալները հատուկ են վերաբերվում:


Եթե ​​թույլտվությունը մերժվում է ֆայլի համար (փորձըկատարել վերադարձավՀԱՐԵՐ), այս գործառույթները կշարունակեն որոնման մնացած ուղու որոնումը: Եթե ​​այլ ֆայլ չի գտնվել, այնուամենայնիվ, նրանք կվերադառնան համաշխարհային փոփոխականerrno սահմանված էՀԱՐԵՐ.

Եթե ​​ֆայլի վերնագիրը չի ճանաչվում (փորձըկատարել վերադարձավENOEXEC), այս գործառույթները կկատարեն կեղևը ֆայլի ուղով, որպես առաջին փաստարկ: (Եթե այս փորձը ձախողվի, այլևս որոնումներ չեն արվում:)

Վերադարձի արժեքը

Եթե ​​որևէ մեկըկատարել գործառույթները վերադառնում են, սխալ կլինի: Վերադարձի արժեքը -1 է, իսկ գլոբալ փոփոխականըerrno կսահմանվի սխալը նշելու համար:

Օգտագործեքմարդ հրաման (% մարդ) տեսնել, թե ինչպես է հրամանը օգտագործվում ձեր որոշակի համակարգչում:

Անուն

execl, execlp, execle, execv, execvp - ֆայլ կատարել


Սինոփսիս

#ներառում

extern char ** միջավայր;

int execl (const char *)ուղին, const char *վիճել, ...); int execlp (const char *)ֆայլ, const char *վիճել, ...); int execle (const char *)ուղին, const char *վիճել , ..., char * կոնստնախանձ[]); int execv (const char *)ուղին, char * կոնստարգվ[]); int execvp (const char *)ֆայլ, char * կոնստարգվ[]);  

Նոր Հաղորդագրություններ

Նոր Հաղորդագրություններ

Ինչպե՞ս ստիպել օգտագործողներին փոխել իրենց գաղտնաբառերը
Ծրագրային Ապահովման

Ինչպե՞ս ստիպել օգտագործողներին փոխել իրենց գաղտնաբառերը

Պաշտպանեք ձեր Linux համակարգի անվտանգությունը `ստիպելով յուրաքանչյուր լիազորված օգտվող ընտրել ուժեղ գաղտնաբառ և պարբերաբար փոխել այն: Օգտագործողի գաղտնաբառի ժամկետի ավարտի մասին տեղեկատվությունը ցուց...
USB. Ամեն ինչ դուք պետք է իմանաք
Tehnologies

USB. Ամեն ինչ դուք պետք է իմանաք

UB- ը, Univeral erial Bu- ի համար կարճ, մի շարք ստանդարտ տիպ է մի շարք տարբեր սարքերի համար: Ընդհանրապես, UB- ը վերաբերում է մալուխների և միակցիչների այն տեսակներին, որոնք օգտագործվում են այս բազմաթի...