Linux командалык билүү - execl

Аты-жөнү: execl, execlp, execle, execv, execvp - бир билэни ишке ашыруу

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

#include

тышкы Исахар ** чөйрөнү;

ички execl (Const Исахар * жол, Const Исахар * Аргентина, ...);
ички execlp (Const Исахар * билэ, Const Исахар * Аргентина, ...);
ички execle (Const Исахар * жол, Const Исахар * Аргентина, ..., Исахар * Const envp []);
ички execv (Const Исахар * жол, Исахар * Const argv []);
ички execvp (Const Исахар * билэ, Исахар * Const argv []);

баяндоо

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

Execl, execlp жана execle саналып Const Исахар * Аргентина жана андан кийинки чекит arg0, arg1 деп элестетүүгө болот, ..., argn. Алар өлүм жазасына программасына жеткиликтүү аргумент тизмесин өкүлү нөл-токтотулат саптарга бир же бир нече көрсөткүчтөн тизмесин сүрөттөйт. Биринчи аргумент, жыйын менен байланышкан билэ атын көрсөтүшү керек билэ ишке ашырылып жаткан. Далилдерди тизмеси NULL жаача ага токтотулууга тийиш.

Execv жана execvp милдеттери жаңы программасы үчүн жеткиликтүү аргумент тизмесин өкүлү нөл-токтотулат саптарга көрсөткүчтөн көптөгөн камсыз кылат. Биринчи аргумент, жыйында тарабынан ишке ашырылып жаткан билэ менен байланышкан билэ атын көрсөтүшү керек. Көрсөткүчтөн көрүүнүн бир NULL жаача ага токтотулууга тийиш.

Execle милдети параметр тизме же кошумча төмөнкү параметр менен argv тизилип үчүн көрсөткүчтөр боюнча далилдер тизмесин токтотот NULL далилдеп төмөнкү тарабынан аткарылган иш чөйрөсүн аныктайт. Бул кошумча параметр нөл-токтотулат саптарга көрсөткүчтөн бир катар жана нөлдүк көрсөткүчтөр боюнча токтотулууга тийиш. Башка милдеттери учурдагы жүрүшүндө тышкы өзгөрмөлүү чөйрөнү тартып, жаңы технологиялык имидж үчүн айлана-чөйрөнү алып.

Ушул иш-милдеттерди жүзөгө ашыруунун кээ бир атайын SEMANTICS бар.

Бу билэ атын слэш (/) мүнөзгө камтылган эмес, анда иш execlp жана execvp бир Аткаруучу делосуна издөөгө орбитасынын иш-аракеттерди жасоого болот. Издөө жол PATH өзгөрмөнүн менен айлана-чөйрөгө көрсөтүлгөн жол болуп саналат. бул өзгөрмө көрсөтүлгөн эмес болсо, демейки жол ``: / бин: / окудум / бин '' колдонулат. Мындан тышкары, кээ бир каталар атайын мамиле кылынат.

Уруксат File (аракет execve EACCES кайтып) үчүн баш болсо, бул иш-милдеттер издөө жолуна калган издеп уланта берет. Башка эч билэ табылса, бирок, алар EACCES коюлган глобалдык өзгөрмө катасы менен кайтып келет.

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

Return баасы

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