如果你想使用 exec 调用另一个程序,你可以使用以下代码示例:
#include
#include
#include
int main(int argc, char *argv[]) {
char *args[] = {"./other_program", "arg1", "arg2", NULL};
execv(args[0], args);
perror("execv");
exit(EXIT_FAILURE);
}
这个示例将调用名为 "other_program" 的另一个程序,并传递两个参数 "arg1" 和 "arg2" 给它。注意第二个参数 "args" 是一个字符串数组,其中包含所有要传递给程序的参数,最后一个参数必须是 NULL。如果 execv 调用成功,它将立即替换当前进程的代码和数据,开始执行指定的程序。如果 execv 调用失败,它将返回-1并设置 errno,这就是为什么我们在上面的示例中使用 perror 和退出操作来检测错误。