Linux / Unix Command: execvp

ысым

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 өзгөрмөнүн менен айлана-чөйрөгө көрсөтүлгөн жол болуп саналат. бул өзгөрмө көрсөтүлгөн эмес болсо, демейки жол ``: / бин: / окудум / бин '' колдонулат. Мындан тышкары, кээ бир каталар атайын мамиле кылынат.

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

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

Return баасы

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

Маанилүү иш: буйруктар, атап айтканда ЭЭМ колдонулуп келе жатканын көрүп, бир киши (% адам) колдонуу.