这是我的execl示例程序
int main(voID){ int childpID; if((childpID = fork()) == -1 ){ perror("can't fork"); exit(1);} else if(childpID == 0){ execl("./testing","",(char *)0); exit(0);}else{printf("finish");exit(0);}}
我可以知道如何将execl更改为execv.我从网上读到的,我们必须设置我的exe文件的文件路径和数组的参数.为了要求程序执行测试exe文件,需要为数组设置什么类型的参数?
https://support.sas.com/documentation/onlinedoc/sasc/doc/lr2/execv.htm链接是否包含我想要的东西?但是我从中读到的是,命令是请求列表文件,而不是执行文件.纠正我,我犯了任何错误
ls -l -R -a
与execl:
execl("/bin/ls","ls","-l","-R","-a",NulL);
与execv:
char* arr[] = {"ls",NulL};execv("/bin/ls",arr);
发送到execv的char *数组将作为argv传递给/ bin / ls(在int main中(int argc,char ** argv))
这是execl(3) Linux manual page的更多细节.
总结以上是内存溢出为你收集整理的如何在linux中使用execv系统调用?全部内容,希望文章能够帮你解决如何在linux中使用execv系统调用?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)