覆盖自己的代码和数据。没有创建新的进程。
子进程进程替换不会影响父进程。
代码和数据都能发送写时拷贝,进程程序替换时发生代码写时拷贝。
替换自己写的程序
main的命令行参数是execle传的。
char *args[] = {"myprogram", "-l", NULL}; execvp("ls", args);
- 这里
file
还是"ls"
,但argv[0]
是"myprogram"
,这意味着新进程会执行ls
,但它的argv[0]
名字会显示为"myprogram"
,可以在某些进程管理工具中看到。