进程与线程

简介: 进程与线程

进程概念:

程序:存放在磁盘上的指令和数据的有序集合(文件)静态

进程:执行一个程序所分配的资源的总称,进程是程序的一次执行过程

进程是动态的,包括创建,调度,执行和凋亡。

 

内存:代码段,数据段,bss段(程序) 堆,栈,进程控制块

进程在RAM中  程序在FLash中

进程类型:

交互类型:在shell下启动  以在前台运行,也可以在后台运行

批处理进程:与终端无关,被提交到一个作业队列中以便顺序执行

守护进程:和终端无关,,一直在后台运行

进程状态:运行态 可中断等待 不可中断等待 停止态,僵尸态 ,进程占用cpu

在linux下命令:

ps:快照

查看进程:ps -elf |grep 进程名 可以查看进程的PID号

程序运行时:ctrl+z将运行的前台进程转为后台进程转为后台进程并停止(挂起)

ctrl+c :将前台进程关闭

直接后台运行程序:./程序名 &

jobs 查看后台进程  bg+PID将挂起的进程在后台运行 fg+PID把后台的进程放到前台运行

创建子进程:

 

pid_t fork(void) 创建新的进程 失败返回-1

成功时父进程返回子进程的进程号,子进程返回0

通过fork的返回值区分父进程和子进程

例如:进程A  fork()之后产生子进程B

A和B代码一样,但是B只执行fork()之后的代码

父进程中代码可以在 if(pit>0)中编写

子进程可以在else if(pit==0)中编写

父子进程的执行顺序不确定 操作系统规定

子进程继承父进程内容 ,父子进程有独立的地址快捷键 互不影响

若父进程先结束,子进程成为孤儿进程,被init进程收养 子进程变成后台进程

若子进程先结束:父进程没有及时回收,子进程会变成僵尸进程。

后续更新线程!

目录
相关文章
|
19天前
|
安全 Java 数据处理
Python网络编程基础(Socket编程)多线程/多进程服务器编程
【4月更文挑战第11天】在网络编程中,随着客户端数量的增加,服务器的处理能力成为了一个重要的考量因素。为了处理多个客户端的并发请求,我们通常需要采用多线程或多进程的方式。在本章中,我们将探讨多线程/多进程服务器编程的概念,并通过一个多线程服务器的示例来演示其实现。
|
2月前
|
消息中间件 安全 Linux
线程同步与IPC:单进程多线程环境下的选择与权衡
线程同步与IPC:单进程多线程环境下的选择与权衡
64 0
|
2月前
|
消息中间件 存储 算法
【软件设计师备考 专题 】操作系统的内核(中断控制)、进程、线程概念
【软件设计师备考 专题 】操作系统的内核(中断控制)、进程、线程概念
84 0
|
2月前
|
存储 消息中间件 算法
《操作系统》——进程与线程
《操作系统》——进程与线程
|
2月前
|
并行计算 安全 Unix
Python教程第8章 | 线程与进程
本章主要讲解了线程与进程的概念,多线程的运用以及Python进程的相关案例学习
37 0
|
2月前
|
安全 Python
Python中的并发编程:多线程与多进程技术探究
本文将深入探讨Python中的并发编程技术,重点介绍多线程和多进程两种并发处理方式的原理、应用场景及优缺点,并结合实例分析如何在Python中实现并发编程,以提高程序的性能和效率。
|
2月前
|
消息中间件 Linux 调度
【Linux 进程/线程状态 】深入理解Linux C++中的进程/线程状态:阻塞,休眠,僵死
【Linux 进程/线程状态 】深入理解Linux C++中的进程/线程状态:阻塞,休眠,僵死
74 0
|
2月前
|
资源调度 算法 Linux
Linux进程/线程的调度机制介绍:详细解析Linux系统中进程/线程的调度优先级规则
Linux进程/线程的调度机制介绍:详细解析Linux系统中进程/线程的调度优先级规则
118 0
|
6天前
|
Java 数据库连接 数据处理
Python从入门到精通:3.1.2多线程与多进程编程
Python从入门到精通:3.1.2多线程与多进程编程
|
13天前
|
调度 Python
Python多线程、多进程与协程面试题解析
【4月更文挑战第14天】Python并发编程涉及多线程、多进程和协程。面试中,对这些概念的理解和应用是评估候选人的重要标准。本文介绍了它们的基础知识、常见问题和应对策略。多线程在同一进程中并发执行,多进程通过进程间通信实现并发,协程则使用`asyncio`进行轻量级线程控制。面试常遇到的问题包括并发并行混淆、GIL影响多线程性能、进程间通信不当和协程异步IO理解不清。要掌握并发模型,需明确其适用场景,理解GIL、进程间通信和协程调度机制。
30 0