#include<unistd.h>
int main(int argc, char **argv)
{
int ret;
ret = execve("/bin/bash", NULL, NULL);
return 0;
}
我很困惑为什么在execve中传递null值 请帮助.....
答案 0 :(得分:6)
这些参数对应于程序的参数和环境。通过为两者传递NULL,调用者指示不应该向程序提供任何参数,也不应提供任何环境变量。
答案 1 :(得分:1)
此代码打开新shell ..... 就像执行任何命令时一样,shell会自行复制并执行命令。