首页 > 系统相关 >进程知识点

进程知识点

时间:2024-06-08 21:32:44浏览次数:27  
标签:fork 知识点 函数 PID 进程 返回值 wait

系统编程

进程

注意:进程是操作系统分配资源的基本单位!操作系统是以进程为单位来分配系统资源的,比如内存空间、CPU使用权等。 线程是操作系统调度资源的最小单位! 进程包含线程!

1.进程的特征

进程具有四个基本特征,分别是动态性、并发性、独立性、异步性

动态性:进程会在程序运行时被创建出来,当无法获取足够的系统资源时进程会暂停,当得到资源后会继续执行。

并发性:允许多个进程在程序中执行。

独立性:进程是一个能独立运行的基本单位,也是系统进行资源分配和调度的独立单位。

异步性:当系统资源不够时或者出现其他进程抢占资源时,都会影响进程的执行进度。

2.进程控制块PCB

  1. 进程标识符PID

一般使用 ps -ef 或者 ps -aux来查看Linux系统中所有用户相关的进程的所有信息。

  1. 进程当前状态:就绪态、运行态、阻塞态、创建态、结束态。

image

3)进程由三个部分组成:控制块,代码块,数据块

3.进程的控制

  1. systemd其实是一个 Linux 系统基础组件的集合(守护进程)

  2. linux内核提供了一个名字叫做fork()的系统调用接口,该接口可以在进程中创建一个子进程。

fork函数

(1)返回值

在父进程中返回的是创建成功的子进程的PID。

fork函数在子进程中的返回值是0。

如果子进程失败则返回-1。

image

geipid()//返回值获取当前进程PID的函数接口
getppid()//返回值获取当前进程的父进程PID的函数接口

image

wait()//让父进程等待子进程的状态改变并获取已经改变状态的子进程的信息

image

注意:如果当前进程没有子进程,则wait函数立即返回,如果当前进程有很多个子进程则wait函数会回收第一个变为僵尸态(第一个结束)的子进程资源。

waitpid()//让父进程等待指定的pid子进程
system()//这个函数也可以让新进程执行shell命令。例如:system(./可执行文件 or shell命令)

image

标签:fork,知识点,函数,PID,进程,返回值,wait
From: https://www.cnblogs.com/lu-ciana/p/18238964

相关文章

  • python 多任务之多进程
    多任务优势多个任务同时执行可以大大提高程序执行效率,可以充分利用CPU资源,提高程序的执行效率概念是指在同一时间内执行多个任务多进程概念进程(process)是资源分配的最小单位,他是操作系统进行资源分配和调度运行的基本单位,比如:一个正在运行的程序就是一个进程,如QQ,微信等......
  • 偶函数在零点的泰勒展开式相关知识点
     步骤1:理解偶函数的定义偶函数是指满足f(x)=f(−x)f(x)=f(-x)f(x)=f(−x)的函数。这意味着偶函数关于yyy轴对称。步骤2:理解泰勒展开泰勒展开是一种将函数表示为无穷级数的方法,它在函数在某一点的所有导数都存在的情况下非常有效。对于函数f(x)f(x)f(x)在零点......
  • 【Linux】进程3——PID/PPID,父进程,子进程
    在讲父子进程之前,我们接着上面那篇继续讲1.查看进程mycode.cmakefile我们在zs_108直接编译mycode.c,直接运行,然后我们转换另一个账号来查看这个进程我们可以通过ps指令来查看进程  我们就会好奇了,第二行是什么?我们查的是第一行的啊那个是指令的ps的进程PID有什......
  • 【Linux】进程4——进程状态
    1.进程状态什么是状态?每个人都有状态——颓废,阳光,积极向上。。。。进程也有状态在操作系统中,由于进程的数量是非常多的,而系统的资源又非常少,所以不可能每一个进程在每时每刻都会处于上处理机运行的状态,所以在系统中应该要为进程维护好相关的状态:运行态,终止态,阻塞态,挂起态,......
  • oracle进程
    每个oracle进程都有自己的任务,oracle会给进程分配内存(PGA)让进程更好的完成任务。oracle进程可以分为三类:服务器进程,后台进程,从属进程。1服务器进程服务器进程是执行客户端会话指令的进程。负责将客户端的指令发送到oracle服务端执行,然后将服务端的结果返回给客户端。可分为......
  • 【手撕面试题】Vue(高频知识点四)
            每天10道题,100天后,搞定所有前端面试的高频知识点,加油!!!在看文章的同时,希望不要直接看答案,先思考一下自己会不会,如果会,自己的答案是什么?想过之后再与答案比对,是不是会更好一点,当然如果你有比我更好的答案,欢迎评论区留言,一起探讨技术之美。目录面试官:请简述一下k......
  • 计算机语言python发展历史进程
    Python语言之父,荷兰人GuidovanRossum。他于1982年从阿姆斯特丹大学取得了数学和计算机硕士学位。20世纪80年代中期,Python之父GuidovanRossum还在CWI(数学和理论计算机科学领域的研究中心,位于阿姆斯特丹)为ABC语言贡献代码。ABC语言是一个为编程初学者打造的研究项目。A......
  • 2024.06 java知识点
     1.对象内存图2.基本数据类型与引用数据类型 ......
  • 6.C语言scanf及其他输入知识点
    C语言scanf相关用法及其他输入1—scanf输入的用法2—scanf注意的问题3—其他输入1—scanf输入的用法程序#include"stdio.h"intmain(){ intdata; intdata2; intdata3; printf("输入一个整数:\n"); scanf("%d",&data); printf("输入完毕\n"); printf(......
  • 6/7学习进程
    今天上数据库实验课完成了两次实验实验三数据库完整性、安全性实现一、实验目的:使学生加深对数据库安全性和完整性的理解,并掌握SQLServer中有关用户、角色及操作权限的管理方法,学会创建和使用规则、缺省和触发器以及存储过程。二、实验要求:通过实验对数据进行完整性控......