上次我问了一个非常可怕的问题,所以我会在这里做得更好。我有以下代码:
int main(int argc, char* argv[])
{
int forkChild;
char* argList[] = {"10","20","30"};
forkChild = fork();
if(forkChild == 0)
{
execvp("sleep",argList);
exit(0);
}
else
{
wait(NULL);
}
}
我无法使execvp行正常工作。它根本不会睡觉。看来麻烦可能是因为argList数组将字符串而不是整数传递给execvp。如果我将整数直接插入睡眠状态,则似乎工作正常。
最终,我的程序应该能够将任何参数传递给execvp,所以我不确定为什么参数类型有问题。有没有我看不到的东西? 谢谢