Linux / Unix Polokalamu: execvp

Inoa

execl, execlp, execle, execv, execvp - hoʻokō i kahi faila

Hōʻuluʻulu

Loaʻa

ka mana waho ** kokoke;

(exec char * path , const char * arg , ...);
i hoʻohana (const char * file , const char * arg , ...);
(ex charter (const char * ala , kahi char char, ..., char * const envp []);
(exec char (path char * path , char * const argv []);
i exec execpp (const char * file , char * const argv []);

ʻO ka hiʻohiʻona o ka Polokalamu

ʻO kaʻohana i hoʻohuiʻia o nāʻoihana e hoʻololi i ke kiʻi me kēia kiʻi kiʻi hou. ʻO nā hana i haʻiʻia maʻaneʻi nāʻaoʻao mua loa no ka hana hana (2).

ʻO ka pane mua no kēia mauʻoihana,ʻo ia ke alahele o kahi kōnae e hanaʻia.

Hiki ke noʻonoʻoʻia ka papahana a me nā hana ma hope o ka hana , execlp , a me nāʻoihana'ē aʻe e like me arg0 , arg1 , ..., argn . Hoʻopuka pū lākou i kahi papa inoa o hoʻokahi aʻoiʻoi aku paha i nā laina kuʻunaʻole i hōʻikeʻia i ka papa helu manaʻo i loaʻa i ka polokalamu i hanaʻia. ʻO ka pane mua, ma ka hālāwai loiloi, pono e kuhikuhi i ka inoa inoa e pili ana i ka faiʻana o ka faila. Pono e hoʻopauʻia ka papa inoa o nā manaʻo e kahi kuhikuhi kuhikuhi NULL .

Hāʻawi nā hana execv a me execvp i nā laina i nā laina kuʻunaʻole i hōʻike i ka papa helu manaʻo i hiki i ka polokalamu hou. ʻO ka pane mua, ma ka hālāwai loiloi, pono e kuhikuhi i ka inoa inoa e pili ana i ka faiʻana o ka faila. Pono e hoʻopauʻia ka paukū o nā poʻomanaʻo e kahi poʻomanaʻo NULL .

ʻO ka hana execle ke kuhikuhi pū nei i ka'ōnaehana o ka hana i hanaʻia ma o ka hahaiʻana i ka poʻomanaʻo NULL e hoʻopau i ka papa inoa o nā manaʻo ma ka papa inoa hoʻonohonoho a iʻole ka poʻeneʻa i ka pūnaewele argv me kahi pākuʻi'ē aʻe. ʻO kēia hoʻolālā hou aku he pae ia o nā kikooho i nā aho kuʻunaʻole a pono e hoʻopauʻia e kahi mea kuhikuhi poʻo NULL . ʻO nā hana'ē aʻe e mālama i ka'ōlohelohe no ka'ōnaehana hoʻolālā hou mai keʻano o ka māloli i waho o ka'ōnaehana o kēia manawa.

ʻO kekahi o kēia mau hana he seminik kūikawā.

ʻO nā hana execlp a execvp e hoʻopau i nā hana a ka shell i ka huliʻana i kahi'ōnaehana i hiki ke hoʻopiliʻia ināʻaʻole i loko o ka inoa inoa pūnaewele kahi hua'ōlelo slash (/). ʻO ke ala hulina kahi ala i hōʻikeʻia i loko o ka'ōpuni e ke kaʻina PATH . Ināʻaʻole i hōʻoia kēia heluloli, e hoʻohanaʻia ke ala alaʻole '`: / bin: / usr / bin' '. Eia kekahi, ua mālama nuiʻia kekahi mau hewa.

Ināʻaeʻia kaʻaeʻana no kahi faila (ka ho'āʻoʻana e hoʻihoʻi i ka EACCES hoʻihoʻi), e hoʻomauʻia kēia mau hana i ke koena o ke ala hulina. Inā loaʻaʻole kahi'ē aʻe, akā, e hoʻi mai lākou me ke errno o ke ao holoʻokoʻa i hoʻonohonohoʻia i EACCES .

Ināʻaʻole iʻikeʻia ke poʻo o ka laulima (ʻo ka ho'āʻoʻana e hoʻoholoENDO ENOEXEC ), e hoʻokō kēia mau hana i ka shell me ke ala o ka faile e like me kāna pane mua. (Ināʻae kēia ho'āʻo,ʻaʻohe mea'ē aʻe e pau.)

Hōʻuluʻulu Manaʻo

Inā e hoʻi mai kekahi o nā hana hoʻokū, ua hanaʻia kekahi kuhi. ʻO ka helu hoʻoiliʻia he -1, a e hoʻonohonohoʻia ka variable variable errno e kuhikuhi i ka hapa.

Mea nui: E hoʻohana i ke kauoha kanaka ( % man ) eʻike ai pehea e hoʻohanaʻia ai kekahi kauoha ma kāu kamepiula.