Программалык Камсыздоо

Linux / Unix буйругу 'execvp'

Автор: Robert Simon
Жаратылган Күнү: 22 Июнь 2021
Жаңыртуу Күнү: 12 Май 2024
Anonim
Linux / Unix буйругу 'execvp' - Программалык Камсыздоо
Linux / Unix буйругу 'execvp' - Программалык Камсыздоо

Мазмун

TheШмидт функциялар үй-бүлөсү учурдагы процесстин сүрөтүн жаңы процесстин сүрөтү менен алмаштырат. Бул жерде сүрөттөлгөн функциялар бул функциянын алдыңкы учтарыexecve(2). 

Бул функциялардын баштапкы аргументи аткарыла турган файлдын аталышы.

Theconst char * арг жана андан кийинки эллипсexeclexeclp, жанаexecle функциялары жөнүндө ойлонсо болотarg0arg1, ..., argn. Биргелешип алар бир же бир нече көрсөткүчтөрдүн тизмесин аткарылган программага берилген аргументтердин тизмесин чагылдырган, нөл менен токтотулган саптарга сүрөттөйт. Биринчи аргумент, жыйын боюнча, файлдын аталышы көрсөтүлүшү керек. Аргументтердин тизмесикерек менен токтотулатНӨЛ көрсөткүчү.


Theexecv жанаexecvp Функциялар жаңы программага жеткиликтүү аргументтердин тизмесин чагылдырган нөлдүү чекитке коюлган саптарды көрсөтөт. Биринчи аргумент, жыйын боюнча, файлдын аталышы көрсөтүлүшү керек. Көрсөткүчтөр массивикерек менен токтотулатНӨЛ көрсөткүчү.

Theexecle функция ошондой эле аткарылуучу процесстин чөйрөсүн төмөнкүлөр аркылуу аныктайтНӨЛПараметрлер тизмесиндеги аргументтердин тизмесин же аргв массивине кошумча параметр кошулган көрсөткүч. Бул кошумча параметр - нөл сызык менен токтотулган саптарга жанакерек менен токтотулатНӨЛ көрсөткүчү. Башка функциялар тышкы процесстен жаңы процесстин сүрөтү үчүн чөйрөнү алатчөйрөнү азыркы процессте.

Бул функциялардын айрымдарында атайын семантика бар.

Функцияларexeclp жанаexecvp Эгерде көрсөтүлгөн файлдын аты сызыкча (/) белгисин камтыбаса, аткарылуучу файлды издөөдө кабыктын аракеттерин кайталайт. Издөө жолу - бул айлана чөйрөдө көрсөтүлгөн жолPATH өзгөрмө. Эгер бул өзгөрмө көрсөтүлбөсө, демейки ``: / bin: / usr / bin '' жолу колдонулат. Мындан тышкары, айрым каталар атайын каралат.


Эгер файлга уруксат берилбесе (аракет жасалды)execve кайтып келдиEACCES), бул функциялар издөө жолунун калган бөлүгүн издөөнү улантат. Эгер башка файл табылбаса, алар глобалдык өзгөрмө менен кайтып келишеткатасы коюлдуEACCES.

Эгерде файлдын баш аты таанылбаса (аракет жасалды)execve кайтып келдиENOEXEC), бул функциялар биринчи аргумент катары файлдын жолу менен ракушканы аткарышат. (Эгер бул аракет ишке ашпаса, мындан ары издөө жүргүзүлбөйт.)

Return Value

Эгер кандайдыр бирШмидт функциялары кайтарылса, ката пайда болот. Кайтарым мааниси -1 жана глобалдык өзгөрмөкатасы катаны көрсөтүү үчүн орнотулат.

Колдонуңузадам буйрук (% киши) сиздин компьютериңизде буйрук кандайча колдонулаарын көрө аласыз.

ысым

execl, execlp, execle, execv, execvp - файлды аткаруу


Кыскача баяндама

#include

тышкы char ** environ;

int execl (const char *жол, const char *Аргентина, ...); int execlp (const char *билэ, const char *Аргентина, ...); int execle (const char *жол, const char *Аргентина , ..., char * constenvp[]); int execv (const char *жол, char * constargv[]); int execvp (const char *билэ, char * constargv[]);  

Биз Сунуштайбыз

Кызыктуу Басылмалар

Motorola Moto Z4 сереп
Tehnologies

Motorola Moto Z4 сереп

Биздин редакторлор өз алдынча изилдөө жүргүзүп, мыкты продукттарды сунушташат; бул жерде биздин карап чыгуу процесси жөнүндө көбүрөөк маалымат алсаңыз болот. Тандалган шилтемелерден жасалган сатып ал...
Myspace өлдүбү?
Интернет

Myspace өлдүбү?

Mypace - бир кездерде социалдык тармактардын бири болуп, башкалар ийгиликке жетип, алдыңкы орундарды ээлеген. Демек, бул Mypace өлүп, жок болуп кетти дегенди билдиреби? Так эмес, бирок бул сиз азыр э...