Akohia te Ture Linux - execv

execl, execlp, execle, execv, execvp - mahi i te kōnae

Whakamutunga

#include

taiao waho ** tata;

int execl (const char * ara , const char * arg , ...);
int execlp (const char * file , const char * arg , ...);
Intecle (const char * path , const char * arg , ..., char * const envp []);
int execv (const char * ara , char * const argv []);
int execvp (const char * file , char * const argv []);

Whakaahuatanga o nga Mahi Mahi

Ko te whanau whakahaere o nga mahi e whakakapi ana i te mahinga tukanga o teianei me te ahua o te tukanga hou. Ko nga mahi e whakaahuatia ana i roto i tenei pukapuka ako ko nga pito-mua mo te mahi mahi (2). (Tirohia te pukapuka pukapuka mo te korero mo nga korero taipitopito e pā ana ki te whakakapi i te tukanga o naianei.)

Ko te tautohe tuatahi mo enei mahi ko te ingoa tohu o te kōnae e tika ana kia mahia.

Ka taea te whakaaro i te waahi o te kaari me nga ellipses i muri mai i te mahi , te kaitohutohu , me nga mahi whakaeke hei arg0 , arg1 , ..., argn . Ka tuhia e raua tetahi rarangi o te kotahi neke atu ranei o nga tohu ki nga aho kore-mutunga e tohu ana i te rarangi whakapae e wātea ana ki te papatono kua mahia. Ko te whakapae tuatahi, na te tikanga, me tohu ki te ingoa kōnae e hono ana ki te kōnae e tukuna ana. Ko te rarangi o nga tautohetohe me whakamutu e te kaiwhakahaere NULL .

Ko nga mahi execv me execvp e whakarato ana i nga huinga ki nga aho e kore e tutukihia e whakaatu ana i te rarangi whakapae e wātea ana ki te papatono hou. Ko te whakapae tuatahi, na te tikanga, me tohu ki te ingoa kōnae e hono ana ki te kōnae e tukuna ana. Me whakakore te huinga o nga tohu ki te kaiwhakahaere NULL .

Ka tohu hoki te mahinga o waho i te taiao o te tukanga i tukuna ma te whai i te kaitohu NULL e mutu ana i te rarangi o nga tautohetohe kei te rarangi taapiri, te tohuhanga ranei ki te waahanga argv me tetahi taapiri atu. Ko tenei taapiri atu ko te huinga o nga tohu ki nga aho e kore e tutuki, me te whakaoti i te kaitohu NULL . Ko era atu mahi ka tango i te taiao mo te ahua tukanga hou mai i te taiao rererangi o waho i te tukanga o naianei.

Ko etahi o enei mahi he turoro motuhake.

Ka mahi nga mahi a te kaiwhakahaere me te execvp ki nga mahi o te anga i roto i te rapu i tetahi kōnae ka taea te kaore i te ingoa o te ingoa kōnae kua tohua (/). Ko te ara rapu ko te ara kua tautuhia ki te taiao e te taurangi PATH . Mena kaore i tautuhia tenei taurangi, ka whakamahia te ara taunoa '`: / bin: / usr / bin' '. I tua atu, he nui nga waahanga e tukuna ana.

Mena kua whakakorehia te whakaaetanga mo te kōnae (ka hoki mai te EACCES i te whakataunga ), ka haere tonu enei mahi ki te rapu i te toenga o te huarahi rapu. Mena kaore he atu kōnae e kitea, heoi, ka hoki mai me te errno ao huri ki te EACCES .

Mena kaore i te mohiohia te pane o te kōnae (ka whakahokia mai ENOEXEC te hokinga whakamuri ), ka mahi enei mahinga i te anga ki te ara o te kōnae hei whakapae tuatahi. (Ki te kore tenei ngana, kaore he waahanga e whai ake.)

Utu Whakahoki o nga Mahi Mahi

Mena ka hoki mai tetahi o nga mahi whakahaere, ka puta he hapa. Ko te uara hokinga mai ko te -1, a ka whakaturia te errno ao huri ki te tohu i te hapa.