进程与线程学习指南
1. 进程基础
进程是线程运行的环境,它包含内存映射、文件描述符、用户和组 ID 等。系统启动时,内核会创建初始进程 init ,其 PID 为 1。后续进程通过 fork 操作创建。
1.1 创建新进程
使用 fork(2) 函数创建新进程。每次成功调用该函数会有两个返回值:在调用进程(父进程)中返回新创建子进程的 PID,在新创建的子进程中返回 0。若返回值为负,则表示 fork 调用失败。
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
int main(void)
{
int pid;
int status;
pid = fork();
if (pid == 0) {
printf("I am the child, PID %d\n", getpid());
sleep(10);
exit(42);
} else if (pid > 0) {
printf("I am the parent, PID %d\n", getpid());
wait(&status);
printf("Child terminated, status %d\n", WEXITSTAT
超级会员免费看
订阅专栏 解锁全文
1616

被折叠的 条评论
为什么被折叠?



