【Linux任务/进程】任务/进程管理知识点整理

笔者最近使用的是Dell的电脑,Dell的电脑有一个很大的特点——就是CPU使用率过高的时候,风扇会转得特别快。之前用Windows的时候,一启动风扇就疯狂地转。但是自从换了Linux以后,这种现象就再没发生过(除了我自己用scale=100000的Pi模拟高负载的时候)。然而,前几天在折腾Linux时风扇又开始响了,本来想用Windows下类似任务管理器的工具看看是什么占用了CPU,结果Ctrl+Alt+Delete竟然是注销,Application下倒是有一个叫做“系统监视器”的工具,不过肯定不如命令行来得直接。


目录

·进程概述

一. 什么是程序?什么是进程?什么是服务?什么是网络服务?

二. Linux下进程的基本知识

三. 子进程与父进程

·任务管理

一. 什么是任务管理?

二. 前台和后台的概念

三. 与后台相关的操作

四. 脱机管理

 

·进程管理

一. 使用ps -l查看自己bash相关的进程

二. 用ps aux查看系统所有进程

三. 使用top动态查看进程的变化

四. 僵尸进程与pstree

五. 进程管理之kill

六. 进程执行顺序与优先级

七. 查看系统资源信息


 

·进程概述

一. 什么是程序?什么是进程?什么是服务?什么是网络服务?

  1. 程序(program):存放在硬盘中的二进制(可执行)程序。
  2. 进程(process):加载到内存中的程序成为进程。
  3. 服务(deamon):常驻在内存中的进程成为服务
  4. 网络服务(Web Deamon):一种特殊的服务,会启动一个负责网络监听的端口,以提供外部客户端的连接请求。

二. Linux下进程的基本知识

当Linux下的程序加载到内存中的时候,操作系统会给你1. PID 2. 调用者的权限

其中,PID是跟你的UID/GID相关的,也就是说,不同的用户,打开相同的bash shell也是不一样的,因为PID不同

三. 子进程与父进程

之前提到我们的shell是一个进程;打开shell我们免不了要执行各种命令,那么这些程序最后也会加载到内存中成为新的进程。那么这两个进程之间有什么关系呢?首先,我们把shell叫做父进程,然后把shell里面输入的各种命令,脚本对应的进程叫做子进程。

子进程的特性:

  1. 会有一个所谓的PPID(Parent PID):内容是其父进程的PID;
  2. 只会继承父进程的环境变量,而不会继承父进程的自定义变量。

子进程的产生过程可以用fork-and-exec来解释:

父进程先fork一份与其差不多的中间进程(但是PID和PPID变了)--->中间进程执行新的程序--->中间进程变成最终的子进程。


·任务管理

一. 什么是任务管理?

这个job control实在bash环境下的。通常情况下我们同一个bash下只能干一件事情。比如我要下载一个软件,就必须要等到这个软件完全下载完,才能执行其他任务。虽然我们可以打开多个tty终端,但是有时root可能会限制我们的终端个数,这时候学习多任务管理就非常重要了。

这里vscode中的gdb就是用了任务管理,把gdb丢到后台去运行了。

二. 前台和后台的概念

在尚未接触Linux之前我们也有听闻过前台和后台的概念,这次就让我们来详细了解一下吧!

不妨先从定义讲起:

  1. 前台:所谓前台就是你在bash中出现提示字符让你操作的环境。老师
  2. 后台:所谓后台就是不与用户进行交互的环境。

前后台之

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值