vim操作结果问题
发表于 : 2017-01-10 16:03
创建zh1.c文件如下:
#include<sys/types.h>
#include<signal.h>
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
void handler(int signo)
{printf("this is child process,pid=%d ,parent id=%d \n",getpid(),getppid());}
int main()
{int pid;
pid=fork();
if(pid<0)
{perror("fork error");}
else if(pid==0)
{signal(SIGUSR1,handler);
pause();
printf("child process exit\n");
exit(0);}
else
{int status;
printf("this is parent process,pid=%d,parent id=%d \n",getpid(),getppid());
printf("waiting for child process exit\n");;
kill(pid,SIGUSR1);
wait(&status);
printf("the child process exit,the return status is 0x%x",status);
pause();}
return 0;
}
执行如下命令
[root@localhost~]#gcc zh1.c -o zh1
[root@localhost~]#./zh1
结果为:
this is parent process,pid=32756,parent id=22845
waiting for child process exit
但是没有回到[root@localhost~]#模式,这是为什么?
#include<sys/types.h>
#include<signal.h>
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
void handler(int signo)
{printf("this is child process,pid=%d ,parent id=%d \n",getpid(),getppid());}
int main()
{int pid;
pid=fork();
if(pid<0)
{perror("fork error");}
else if(pid==0)
{signal(SIGUSR1,handler);
pause();
printf("child process exit\n");
exit(0);}
else
{int status;
printf("this is parent process,pid=%d,parent id=%d \n",getpid(),getppid());
printf("waiting for child process exit\n");;
kill(pid,SIGUSR1);
wait(&status);
printf("the child process exit,the return status is 0x%x",status);
pause();}
return 0;
}
执行如下命令
[root@localhost~]#gcc zh1.c -o zh1
[root@localhost~]#./zh1
结果为:
this is parent process,pid=32756,parent id=22845
waiting for child process exit
但是没有回到[root@localhost~]#模式,这是为什么?