1、pause函数
- pause函数的本质是将当前进程挂起,等待信号的触发
- 解除休眠一:传递信号终止进程
- 解除休眠二:调用信号捕获函数
- 返回值:仅在捕捉信号并且捕获函数执行结束后返回-1并且将errno赋值为EINTR;
pause函数+alarm函数模拟sleep函数的实现[……]
pause函数+alarm函数模拟sleep函数的实现[……]
进程间通讯(IPC, InterProcess communication)
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
int main(){
pid_t pid = getpid();
printf("pid:%u\n" ,pid);
// 从此处开始,后面的代码会被执行2次
pid_t fork_pid = fork();
if (fork_pid == -1){
perror("fork error:");
exit(1);
}else if (fork_pid == 0){
// 为0是返回给子线程,表明线程创建成功
// 当前操作在子线程中执行
printf("子进程:pid:%u, ppid:%u\n", getpid(), getppid());
}else{
// 父线程中返回的是子线程id号
printf("父进程:pid:%u, ppid:%u\n", getpid(), getppid());
}
printf("fork:%u\n", fork_pid);
return 0;
}
输出结果为:[……]