|
大家好,请教你们一个 问题:
先请看两个简单的程序:
一:
/*父进程execl后的shell可以用*/
#include <sys/types.h>
#include <stdio.h>
#include <unistd.h>
int main(void)
{
if(fork())
{
execl("/bin/sh","sh",0);
}
else
{
printf("child process is printing.\n");
exit(0);
}
}
二:
/*子进程execl后的shell只能接受一个字符*/
#include <sys/types.h>
#include <stdio.h>
#include <unistd.h>
int main(void)
{
if(fork()==0)
{
execl("/bin/sh","sh",0);
}
else
{
printf("parent process is printing.\n");
exit(0);
}
}
这个是什么原因呢? |
|