2、wait命令wait是用来阻塞当前进程的执行,直至指定的子进程执行结束后,才继续执行。使用wait可以在bash脚本“多进程”执行模式下,起到一些特殊控制的作用。
给你一个完整的测试代码:--------------------------
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <signal.h>
#include <stdlib.h>
void handler(int signo)
{
printf("recv the signal from parent process\n")
}
int main()
{
pid_t pid
pid = fork()
switch(pid)
{
case -1:
perror("fork failed")
exit(1)
case 0:
printf("in the child\n")
signal(SIGCONT, handler)
pause()
printf("child weakup\n")
break
default:
printf("in the parent\n")
sleep(5)
kill(pid, SIGCONT)
sleep(5)
printf("parent weakup\n")
break
}
printf("bye..\n")
exit(0)
}
--------------------------------------------------
运行及输出:
beyes@linux-beyes:~/C>./weakup.exe
in the child
in the parent
recv the signal from parent process
child weakup
bye..
parent weakup
bye..
....................................
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)