ChinaUnix.net
相关文章推荐:

exec函数

本帖最后由 fallingstar64 于 2012-02-23 22:00 编辑 引用自 http://perldoc.perl.org/functions/exec.html @args = ( "echo surprise" ); exec @args; # subject to shell escapes # if @args == 1 exec { $args[0] } @args; # safe even with one-arg list 为什么说 exec { $args[0] } @args; 是更为安全的一种用法呢???

by fallingstar64 - Perl - 2012-06-11 14:15:23 阅读(1272) 回复(1)

相关讨论

#include unsitd.h> int execl( const char *pathname, const char *arg 0, ... /* (char *) 0 */); int execv( const char *pathname, const char *rgv[] ); int execle(const char *pathname,const char *arg 0, /* (char *)0, char *cones nt v p [] */); int execve(const char *pathname,const char *rgv[], char *consten vp [] ); int execlp(const char *filename,const char *arg 0, ... /* (char *) 0 */); int execv...

by tastesweet - Linux文档专区 - 2009-04-01 20:28:33 阅读(1213) 回复(0)

本文主要参考《unix环境高级编程》 一个创建子进程后,子进程都会调用exec函数执行另一个程序。 exec只是用一个全新的程序代替当前进程的正文,数据,堆和栈段。 一共有6种exec函数,关系可以用下图表示: 字母p表示该函数取filename作为参数,并且用PATH环境变量寻找可执行文件。字母l表示该函数取一个参数表,他与字母v互斥。v表示该函数取一个argv【】矢量。字母e表示该函数取envp【】数组,而不使用当前环境。 下面是调用...

by eelb123 - Linux文档专区 - 2008-11-03 21:16:15 阅读(780) 回复(0)

int main(int argc, char **argv) { pid_t pid; char *argp[] = {"echo", "$USER", NULL}; char *envp[] = {"USER=weizi", NULL}; if ((pid = fork()) == -1) err_sys("fork error"); else if (pid == 0) { if (execl("/bin/echo", "echo", "$USER", (char *)0) == -1) err_sys("execl error"); } if (waitpid(pid, NULL, 0) == -1) err_sys("waitpid error"); if (execvpe("echo", argp, envp) == -1) err_s...

error

by CanuxCheng - Linux环境编程 - 2014-12-25 18:31:20 阅读(1592) 回复(9)

在系统编程中 exec 能否使用通配符 如果能怎么使用,如果不能那是为什么?

by easy_121 - Linux环境编程 - 2013-07-05 13:59:23 阅读(1245) 回复(5)

想用wget访问http://10.78.192.1 wget --http-user=admin --http-passwd=admin123 -O test.jpg 在linux可以运行,,怎么在程序里用exec函数调用??

by henngy - C/C++ - 2011-01-13 17:14:19 阅读(1709) 回复(2)

[code] while((token=strsep(&buf,"|"))!=NULL) { temp=token; printf("%s",temp); i++; } int pid=fork(); if(pid==0) { execvp(path,temp); } [/code]只有exec的输出,没看到循环里的输出。

by Mr-Summer - C/C++ - 2010-08-10 13:49:07 阅读(1565) 回复(7)

exec函数族的使用 Linux系统进程控制编程——exec函数族的使用 exec用被执行的程序完全替换调用它的程序的影像。fork创建一个新的进程就产生了一个新的PID,exec启动一个新程序,替换原有的进程,因此这个新的被exec执行的进程的PID不会改变,和调用exec函数的进程一样。 int exec…装入和运行其它程序: int execl(char *pathname, char *arg0, char *arg1,..., char *argn, NULL) int execle(char *pathname, char *arg0, char ...

by chenweiming507 - Linux文档专区 - 2010-01-06 19:06:28 阅读(974) 回复(0)

简介 exec函数族,顾名思义,就是一簇函数,他把当前进程映像替换成新的程序文件,而且该程序通常main函数开始执行! 说是exec系统调用,实际上在Linux中,并不存在一个exec()的函数形式,exec指的是一组函数,一共有6个,分别是: #include extern char **environ; int execl(const char *path, const char *arg, ...); int execlp(const char *file, const char *arg, ...); int execle...

by 虑而后能得 - Linux文档专区 - 2009-04-21 12:05:34 阅读(864) 回复(0)

exec函数族 也许有不少读者从本系列文章一推出就开始读,一直到这里还有一个很大的疑惑:既然所有新进程都是由fork产生的,而且由fork产生的子进程和父进程几乎完全一样,那岂不是意味着系统中所有的进程都应该一模一样了吗?而且,就我们的常识来说,当我们执行一个程序的时候,新产生的进程的内容应就是程序的内容才对。是我们理解错了吗?显然不是,要解决这些疑惑,就必须提到我们下面要介绍的exec系统调用。 1.10.1 简介 说...

by renbok - Linux文档专区 - 2009-02-23 23:52:26 阅读(764) 回复(0)

1. 简介 在Linux中,实际上并不存在一个exec()的函数形式,exec指的是一组函数,一共有6个,分别是: #include int execl(const char *path, const char *arg, ...); int execlp(const char *file, const char *arg, ...); int execle(const char *path, const char *arg, ..., char *const envp[]); int execv(const char *path, char *const argv[]); int execvp(const char *file, char *const argv[]); int execve(const cha...

by eriolchan - Linux文档专区 - 2008-12-27 19:34:20 阅读(959) 回复(0)