Bootstrap

Linux—进程与计划管理

目录

一、程序

二、进程

1、什么是进程

2、进程的特点

 3、进程、线程、携程

3.1、进程

3.2、线程

3.3、携程

三、查看进程信息

1、ps -aux

 2、ps -elf

3、top 

​3.2、输出内容详解

 3.2.1、输出第一部分解释

3.2.2、输出第二部分解释

4、pgrep

5、pstree 

 四、进程的管理

1、前台运行与后台运行

2、进程的启动方式

2.1、手动启动

2.2、调度启动

3、前台与后台切换

3.1、ctrl+z

3.2、jobs

3.3、fg

4、终止进程

4.1、kill

4.2、killall

4.3、pkill

五、计划任务书

1、at

 2、atq

 3、crontab


一、程序

  • 程序是按照特定逻辑编写的一系列指令或代码。
  • 程序是一系列指令的集合,可以让计算机执行某种特定任务或解决某个问题。
  • 程序可以由编程语言编写,并通过编译或解释后在计算机上运行。

二、进程

1、什么是进程

进程是计算机中运行的一个程序实例。每个进程在操作系统中有一个唯一的进程标识符(PID),并可以有多个线程。进程之间相互独立,并且具有各自的内存空间。

2、进程的特点

 3、进程、线程、携程

3.1、进程

  • 进程有自己独立的地址空间,内存隔离,一个进程的崩溃不会影响其他进程。
  • 进程是动态执行的实体,在生命周期内不断改变状态,可以创建子进程。
  • 多个进程可以同时存在并运行。
  • 进程具有较高的安全性和稳定性,但创建和切换进程的开销较大

3.2、线程

  • 多个线程共享进程的地址空间和资源,创建和销毁线程的开销较低。
  • 每个线程有自己的栈空间和程序计数器,独立执行任务,互不干扰。
  • 线程可以在同一进程内并发执行,提高程序的并发性能和响应速度。
  • 线程共享进程的资源,如内存、文件描述符,这使得线程间通信更加高效。

3.3、携程

  • 协程是由程序自身而非操作系统内核进行调度,开销更低。
  • 协程之间的切换开销很小,因此可以实现高效的并发编程。
  • 协程采用非抢占式调度,可以避免线程间的抢占问题。
  • 协程可以在同一个线程内实现并发执行,通过协程的切换来实现任务的切换。

三、查看进程信息

1、ps -aux

  • 显示当前运行进程的信息

 解释:

 2、ps -elf

解释:

3、top 

  • 用于实时监视系统运行状态的常用工具,提供了对系统各种资源利用情况的实时动态展示,包括 CPU 使用率、内存占用、进程信息等

3.2、输出内容详解

 3.2.1、输出第一部分解释

①、输出第一行内容解释

 ②、输出第二行内容解释

  ③、输出第三行内容解释

  ④、输出第四行内容解释

⑤、输出第五行内容解释

3.2.2、输出第二部分解释

4、pgrep

  • 根据进程名或者其他属性来查找进程的 PID

5、pstree 

  • 以树状图的形式显示进程之间的父子关系。它将按照进程的层次结构展示进程及其子进程

使用参数:

 

 四、进程的管理

1、前台运行与后台运行

2、进程的启动方式

2.1、手动启动

  • 前台启动:用户输入命令,直接执行程序
  • 后台启动:在命令行尾加入“&”符号

2.2、调度启动

  • 使用at命令,设置一次性计划任务
  • 使用crontab命令,设置周期性计划任务

3、前台与后台切换

3.1、ctrl+z

  • 把任务再调回后台,但该任务会停止运行

3.2、jobs

  • 查看后台任务列表

3.3、fg

  • 调出后台任务到前台执行

4、终止进程

4.1、kill

  • 终止进程

4.2、killall

  • 当需要结束系统中多个相同名称的进程时,使用 killall 命令将更加方便,效率更高

4.3、pkill

五、计划任务书

1、at

  • 在 Linux 操作系统中,除了用户即时执行的命令操作以外,还可以配置在指定的时间、指定的日期执行预先计划的系统管理任务(如定期备份、定期采集监测数据)

 使用格式:

 

 2、atq

  • 查询计划任务书

 3、crontab

  • 用于在预定时间执行任务的命令。它允许用户创建、编辑、显示和删除定期运行的任务

 使用参数:

  •     *号解释

 示例:

 删除:

;