Linux 编程

[复制链接]
查看11 | 回复3 | 2013-6-2 02:53:58 | 显示全部楼层 |阅读模式
第一个参数表示进程名第二个参数相当于argv[0],这里是sh,其实由于PATH环境变量的原因所以你可以这么使用而事实上这句应该是/bin/sh这样的绝对路径第三个四三参数相当于argv[1] argv[2]。。。。。即由第二个参数开始相当于c语言中main函数的char **argv然后这个命令行参数由NULL来结束这个函数会在使用的地方将另一个外部程序拷贝到执行这个函数的地址处并从该外部程序的头开始执行该外部程序这就是说在调用该函数处后面的原代码被加载进来的外部程序代码覆盖掉所以在某个程序中调用外部另一个程序而又保持调用程序不会被覆盖的方法就是调用程序创建一个进程,然后调用该函数将外部程序的代码覆盖掉新进...
回复

使用道具 举报

千问 | 2013-6-2 02:53:58 | 显示全部楼层
定义函数:int execlp(const char * file,const char * arg,...,(char *)0);函数说明:execlp()会从PATH 环境变量所指的目录中查找符合参数file的文件名,找到后便执行该文件,然后将第二个以后的参数当做该文件的argv[0]、argv[1]……,最后一个参数必须用空指针(NULL)...
回复

使用道具 举报

千问 | 2013-6-2 02:53:58 | 显示全部楼层
执行命令cmd_string...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行