码迷,mamicode.com
首页 >  
搜索关键字:execvp    ( 31个结果
Linux_C smsh1
这是一个模拟shell端的程序。使用了execvp,fork,wait,malloc,realloc以及strtok()函数。smsh.h1 char* next_cmd();2 char** splitline(char* );3 void freelist(char **);4 int exec...
分类:系统相关   时间:2014-10-31 23:31:23    阅读次数:304
在进程中运行新代码
摘要:本文主要讲述如何在进程中运行新代码,以及exec系列函数的基本使用方法.用函数fork创建子进程后,如果希望在当前子进程中运行新的程序,可以调用exec函数执行另一个程序....
分类:其他好文   时间:2014-10-10 15:17:14    阅读次数:207
5进程原语:execl(),execlp(),execle(),execv(),execvp(),execvp(),execve()
?? 1.exec族依赖的头文件 #include extern char**environ; 2函数声明 //第一个参数:可执行程序所在的绝对位置 //第二个参数:可执行程序运行时所需的参数,这里是一个可变参数,每个参数之间用逗号分割 //参数结束时,最后一个参数是:NULL int execl(constchar *path, const cha...
分类:其他好文   时间:2014-09-17 07:50:41    阅读次数:321
linux c redirect 重定向
用execvp实现时,运行adb,如果adb 服务没有启动,会启动adb服务,启动adb服务时,pipe返回的管道在读的时候堵塞了。查看了popen的源码,发现popen是用sh -c来执行的,避免了这个问题不知道sh -c做了些什么操作,使得popen可以避免这个问题代码如下: 1 #ifndef...
分类:系统相关   时间:2014-09-16 18:56:00    阅读次数:296
execvp:在程序中调子程序并获取返回值
在linux中我们可以很方便的使用system启动子程序,但是system有个不足就是它对子程序的掌控很弱,连返回数值都很难获取。 下面是一段使用execvp来调用子程序的示例代码,关于下面的代码有几点特殊说明: 1)  folk(): 会从主程序中复制出一个新的程序,如果folk返回0就是子程序,否则那就是还是当前的程序。 2)  wait() : 在主程序中你可以自己决定要等待子程序返回...
分类:其他好文   时间:2014-09-12 17:19:23    阅读次数:254
模拟shell ( 进程函数:fork(),execvp(),wait() )
shell是一个管理进程和运行进程的程序,下面我们就通过模拟一个shell程序这个实例来更好地认识认识在Linux/Unix系统中,进程的创建和结束,以及父子进程之间的一些关系。接下来先贴上源代码的中命令的读取部分: numargs=0; while(numargs<MAXARGS){ printf("Arg[%d]?",numargs); if(fgets(argbuf,A...
分类:其他好文   时间:2014-09-11 22:27:32    阅读次数:792
Python OS模块学习(二)
4.进程的相关处理system( )给当前进程输入系统shell命令import osif os.name == "nt": command = "dir"else: command = "ls -l" os.system(command) execvp 开始一个新进程, 以取代目前进程 impor...
分类:编程语言   时间:2014-09-10 10:46:00    阅读次数:190
execve 系列函数
exec系列函数(execl、execlp、execle、execv、execvp)1带 p 的exec函数:execlp,execvp,表示第一个参数path不用输入完整路径,只有给出命令名即可,它会在环境变量PATH当中查找命令2 execl* 和execv*的区别是,前者一一列出参数,后者用指...
分类:其他好文   时间:2014-09-04 16:45:49    阅读次数:212
linux下实现自己的shell解释器
实现一个自己的shell解释器,其原理比较简单,首先获取用户的输入,通过fork()函数获取两个进程(父子进程),子进程通过execvp()函数继续进行,此时父进程一直在等待子进程的结束,待都结束了就执行了一次shell解释。 1 /*================================...
分类:系统相关   时间:2014-08-22 02:42:25    阅读次数:307
exec函数簇理解
下面我们来看看一个进程如何来启动另一个程序的执行。在Linux中要使用exec函数族。系统调用execve()对当前进程进行替换,替换者为一个指定的程序,其参数包括文件名(filename)、参数列表(argv)以及环境变量(envp)。exec函数族当然不止一个,但它们大致相同,在 Linux中,它们分别是:execl,execlp,execle,execv,execve和execvp,下面我只...
分类:其他好文   时间:2014-08-08 21:21:46    阅读次数:328
31条   上一页 1 2 3 4 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!