if(pid == 0)
{
execvp(cmd, args);
// printf("hello"); // apparently, putting this or not does not work.
_exit(-1);
}
else
{
// parent process work
}
Run Code Online (Sandbox Code Playgroud)
"execvp()"将当前程序替换为要执行的程序(当然在相同的进程上下文中).因此,在execvp()之后设置任何printf()调用都不起作用.这就是文档所说的,我也验证了它.
但是,为什么_exit()需要..?在execvp()之后,控件是否会返回语句?
我会感激任何指针.
谢谢
如果失败,该函数将返回.
如果其中一个exec函数返回到调用进程映像,则发生错误; 返回值应为-1,并设置errno以指示错误.
在_exit()允许正常终止该进程,并返回一个退出代码,即使EXEC失败.
| 归档时间: |
|
| 查看次数: |
6939 次 |
| 最近记录: |