当前位置:首页 » 操作系统 » linux系统进程

linux系统进程

发布时间: 2023-08-01 21:37:38

linux进程一般可以分为哪三类

进程是正在执行的一个程序或命令,每个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。程序一旦运行就是进程。

进程可以看成程序执行的一个实例。进程是系统资源分配的独立实体,每个进程都拥有独立的地址空间。一个进程无法访问另一个进程的变量和数据结构,如果想让一个进程访问另一个进程的资源,需要使用进程间通信,比如管道,文件,套接字等。

Linux中进程分为以下三类:

①交互进程:由一个shell启动的进程,交互进程既可以在前台运行,也可以在后台运行。

②批处理进程:这种进程和终端没有联系,是一个进程序列。

③监控进程:也称守护进程,是一个在后台运行且不受任何终端控制的特殊进程,用于执行特定的系统任务。

进程的状态:

①可运行状态:此时进程正在运行或者正在运行队列中等待准备运行。

②等待状态:此时进程在等待一个事件的发生或某种系统资源。在Linux系统中等待状态又细分为两种等待状态:可中断的等待状态和不可中断的等待状态。

③暂停状态:处于暂停状态的进程被暂停运行。

④僵死状态:每个进程在运行结束后都会处于僵死状态,等待父进程调用进而释放系统资源,处于该状态的进程已经运行结束,但是它的父进程还没有释放其系统资源。

② Linux进程

什么是进程

狭义上来说 进程是操作系统上运行的一个程序

广义上来说 进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是 操作系统 动态执行的 基本单元 ,在传统的 操作系统 中,进程既是基本的 分配单元 ,也是基本的执行单元。

进程控制是进程管理中最基本的功能。它用于创建一个新进程,终止一个已完成的进程,或者去终止一个因出现某事件而使其无法运行下去的进程,还可负责进程运行中的状态转换。

Linux系统上进程的几种状态:

进程的创建一是操作系统来创建 二是由父进程创建

什么是守护进程? 这是一段来自维基网络的描述。

exit()与_ecit()的区别

exit与return的区别

exit 的参数 正常退出参数为 0, 异常退出参数为非零值

③ linux如何打开进程控制块

linux如何打开进程控制块[linux内核]4.进程控制块和进程创建纤盯_H4ppyD0g的博客-CSDN博客
进程控制块PCB的定义位置在/linux3.18.6/include/linux/sched.h#1234, 起名为 struct task_struct 下图为进程结构体示意图 1.1 进程状态信息 在PCB中的变量定义:volatile long state;操作系统...
CSDN技术社区2021-11-23
Linux PCB(进程控制块)详解_BadSleepC的博客-CSDN博客_linux pcb
可中断的等待状态 不可中断的等待状态 处于这种状态的进程,要么正在运行、要么正准备运行。正在运行的进程就是当前进程(由current所指向的进程)...
CSDN技术社区2022-03-14
Linux下的进程控制块(PCB)码农教程
本文章向大家介绍Linux下的进程控制块(PCB),主要包括Linux下的进程控制块(PCB)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
码农网2020-06-01
其他人还搜了
linux杀进程
linux查看进程命令
linux如何kill进程
linux进程间通信
linux进程控制块pcb01
什么叫进程控制块
linux查看进程占用内存
linux进程控制块数据结构
2021-04-10 Linux系统下通过内核模块显示进程控制块信息_ONEIROPLUS的博客-CSDN博客
Linux系统下通过内核模块显示进程控制块信息 前言 本机为微软 Surface pro4,为 64 位,所用操作系统为 Windos 10。本机虚拟机版本为 Oracle VM VirtualBox 6.1.8,所用操作系统是使用 Ubuntu18...
CSDN技术社区2021-04-10
【Linux】进李竖纤程控制(详细解析)SouLinya的博客-CSDN博客
进程调用fork函数,当控制转移到内核中的fork代码后,内核做: 分配新的内存块和内核数据结构(主要有:链表、队列、映射和红黑树。给子进程 将父进程部分数据结构内容拷贝至子进程 将子进程...
CSDN技术社区2022-12-10
Linux进程控制-码农教程
在Linux中,每个进程在创建时都会被分配一个数据结构,称为进程控制块(PCB,Process Control Block),描述进程的运动变化过程,与进程是一一对应的关系。通常PCB包含以下信息: 进程标识符:每个...
码农网2022-07-22
linux进程控制与管理命令_进程控制块的内容-Java架构师必看
进程调用fork,当控制转移到内核中的fork代码后,内核做: 分配新的内存块和内核数据结构给子进程。将父进程部分数据结构内容拷贝至子进程。添加子进程到系统进程列表当中。fork返回,开始调度...
Java架构师必看2022-08-08
Linux系哪仿统中的进程控制块.doc-淘豆网
在linux 中每一个进程都由task_struct 数据结构来定义.task_struct就是我们通常所说的PCB.她是对进程控制的唯一手段也是最有效的手段.当我们调用fork()时,系统会为我们产生一个task_struct结构...
淘豆网
linux系统中的进程控制块.doc-蚂蚁文库
在LINUX中每一个进程都由TASK_STRUCT数据结构来定义TASK_STRUCT就是我们通常所说的PCB她是对进程控制的唯一手段也是最有效的手段当我们调用FORK时,系统会为我们产生一个TASK_STRUCT结构。然后从...
蚂蚁文库
Linux下进程描述(1)—进程控制块【转】阿里云开发者社区
每个进程在内核中都有⼀个进程控制块(PCB)来维护进程相关的信息,Linux内核的 进程控制块是task_struct结构体。现在我们全⾯了解⼀下其中都有哪些信息。在Linux中,这个结构叫做task_struct。...
阿里云开发者社区2017-12-27
相关搜索
linux查询进程
linux杀死进程命令
什么是进程控制块
linux进程控制块pcb02
linux进程控制块的结构体
linux中新程序如何开启进程
linux如何杀死进程
linux杀死进程
linux如何关闭进程
linux系统查看所有进程命令

④ linux如何查看历史进程结束时间

1.
打开linux系统,在linux的桌面的空白处右击。
2.
在弹出的下拉选项里,点击打开终端。
3.
输入export HISTTIMEFORMAT='%F %T命令并执行。
4.
再使用history命令,回车即可查看历史命令的时间。

⑤ Linux进程详解

ps是Linux 中最基础的浏览系统中的进程的命令。能列出系统中运行的进程,包括进程号、命令、CPU使用量、内存使用量等。接下来解读一下Linux操作系统的进程和Windows“Ctrl+Alt+delete”直接的差异。

在进行了解进程命令之前需要知道进程的一些状态

ps工具标识进程的5种状态码:

Linux操作系统进程执行的状态转换图如图所示:

下面来看一下 ps命令
ps --help命令可以查看ps命令的使用说明

或者使用 man ps命令 查询ps的详细说明

在 man手册 关于ps的解读中,总结了一下几个参数的含义:

以上的参数是可以拼接使用的,那就了解一些常用的参数组合
ps aux命令

ps -ef命令

查看进程状态这两个是命令是最常用的,使用 ps aux 可以查看进程的详细运行状态等。使用 ps -ef 不仅可以显示自身的PID,也可以显示PPID(父进程)。但是显示不了进程的运行状态

top命令
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器

man手册关于top的解释

关闭进程,重启进程
在上一片文章中 linux的目录结构 里面说过,在目录/etc/init.d/目录下包含许多系统各种服务的启动和停止脚本。假设进程占用内存较大或者进程异常,我们是重启这个进程restart。如下图所示:

我们重启了mysqld这个进程,可以看出进程号已经改变(从15743到15964),说明进程已经重启。

Linux下有3个特殊的进程,idle进程(PID=0), init进程(PID=1)和kthreadd(PID=2)

我们来看一下进程状态[下面是删减版,进程数量太多,列举一部分]

可以看到很多进程的PPID号是1和2。也就是init进程和kthreadd进程。

在使用Windows系统的过程中,都碰到过应用程序卡死的情况。应对此问题,我们一般都是等待失去响应的程序恢复,或者是直接使用任务管理器将其强制关闭,然后再重新打开。

在Linux中,遇到特别耗费资源的进程,当然需要使用 top命令 查看进程占用率高的进程。或者使用 free -m命令 查看内存剩余。假设需要强杀进程来释放空间。我们涉及到Linux中信号📶的知识,在这里简单的描述一下,信号的详解会在接下来的文章里面叙述。
free -m命令查看内存空间

在linux中存在着64种信号
使用 kill -l命令 查看信号列表

在前面说过进程会被这些个信号> (进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号强制停止运行) 那问题就在于如何发信号给这些个进程。
使用kill命令发信号

我们从上面可以看到 mysqld进程被重启了 。

关于Linux的这一块进程的知识还有很多,后面的文章跟大家分享僵尸进程,孤儿进程等等知识,以及守护进程(daemon进程).

热点内容
安卓手机云控是什么 发布:2025-03-13 08:28:42 浏览:623
vivoz6手机存储设备在哪里 发布:2025-03-13 08:08:36 浏览:58
emc存储模拟器下载 发布:2025-03-13 08:06:54 浏览:758
粒子群算法流程 发布:2025-03-13 08:04:44 浏览:290
pythonjsonkey 发布:2025-03-13 08:04:32 浏览:621
php删除数组元素 发布:2025-03-13 07:58:08 浏览:827
怎么编辑电脑按键脚本 发布:2025-03-13 07:57:26 浏览:753
ubuntu编辑python 发布:2025-03-13 07:56:32 浏览:529
服务器如何配置接口域名 发布:2025-03-13 07:52:41 浏览:318
oracle物理存储结构 发布:2025-03-13 07:43:00 浏览:821