linux进程fork、wait等

本文详细介绍了Linux系统中的进程概念,包括如何查看进程、进程标识符(PID)、父子进程关系,以及核心函数fork、vfork的工作原理和区别。还探讨了进程的退出方式和父进程如何通过wait、waitpid收集子进程的退出状态,防止僵尸进程的产生。
摘要由CSDN通过智能技术生成

1进程的概念:
程序是静态的,类似于电脑桌面上的可执行文件。进程是动态的,类似于程序运行起来就是进程。
2.如果查看系统中的进程:
用PS指令:ps -aux(aux是乌邦图系统,查看乌邦图系统下的进程)
如果查看想要的进程。用管道配合grep去过滤: ps -aux| grep init(查找有关init的进程)
3.top指令(类似于windows任务管理器)查看进程CPU的占用率等等。
4.什么是进程标识符?
每一个进程都有一个非负整数表示唯一的IP,叫做pid 类似于进程的身份证。
pid=0 称为交换进程 作用: 进程调度
pid=1 称为init进程 作用:系统初始化
getpid()函数 作用:获取自身的进程ID号。
getppid()函数 作用:获取父进程的ID号。
5.父子进程的概念:
进程A创建了进程B,则A叫做父进程,B叫做子进程。理解为人类的父子关系。

=================================================================
6。fork()函数。
作用:创建一个进程。
函数名: pid_t fork(void);
参数:一般为空。
返回值: fork调用成功,返回俩次。返回值为0,表示当前进程是子进程。返回值为非负数,表示当前进程为父进程,调用失败返回-1.

#include<stdio.h>
#include <sys/types.h>
#include <unistd.h>

int main()
{
   
        pid_t pid;
        pid_t retpid;
        pid = getpid();
        printf("after fork pid=%d\n",pid);
        retpid=fork();
        if(retpid>0){
   
                printf("this is fathar return pid=%d\n",retpid);
        }
        else if(retpid==0){
   
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值