当前位置: 首页 > news >正文

Linux中进程与计划任务

目录

一.进程

1.进程相关概念

2.进程的特征

3.进程相关的命令

3.1 ps命令

3.2 top命令

3.3 pgrep命令

3.4 pstree命令进程树

3.5 kill命令

二.计划任务

1.一次性任务

2.周期性任务crontab

三.本章涉及面试题

1.运维需要关注服务器的系统性能及如何查看


一.进程

1.进程相关概念

进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。

进程一般由程序、数据集合和进程控制块三部分组成。

2.进程的特征

  • 动态性:进程是程序的一次执行过程,是临时的,有生命期的,是动态产生,动态消亡的;
  • 并发性:任何进程都可以同其他进程一起并发执行;
  • 独立性:进程是系统进行资源分配和调度的一个独立单位;
  • 结构性:进程由程序、数据和进程控制块三部分组成

3.进程相关的命令

3.1 ps命令

查看静态的进程统计信息

  • "ps aux" 可以查看系统中所有的进程;

  • "ps -le" 可以查看系统中所有的进程,而且还能看到进程的父进程的 PID 和进程优先级;

  • "ps -l" 只能看到当前 Shell 产生的进程;

3.2 top命令

top命令:动态查看进程状态默认每3秒刷新一次,q键退出,显示主要内容与ps命令相同

3.3 pgrep命令

查看指定的进程

  • -U 指定用户 小u 也可以

  • -l: 显示进程名

  • -a: 显示完整格式的进程名

  • -P pid: 显示指定进程的子进程

3.4 pstree命令进程树

以树形结构列出进程信息

  • -a 显示启动每个进程对应的完整指令,包括启动进程的路径、参数等
  • -p 显示PID 
  • T 不显示线程thread,默认显示线程
  • -u 显示用户切换
  • -H pid 高亮显示指定进程及其前辈进程

3.5 kill命令

kill 命令是按照 PID 来确定进程的,所以 kill 命令只能识别 PID,而不能识别进程名。

信号编号信号名含义
0EXIT程序退出时收到该信息。
1HUP挂掉电话线或终端连接的挂起信号,这个信号也会造成某些进程在没有终止的情况下重新初始化。
2INT表示结束进程,但并不是强制性的,常用的 "Ctrl+C" 组合键发出就是一个 kill -2 的信号。
3QUIT退出。
9KILL杀死进程,即强制结束进程。
11SEGV段错误。
15TERM正常结束进程,是 kill 命令的默认信号。

注:killall 也是用于关闭进程的一个命令,但和 kill 不同的是,killall 命令不再依靠 PID 来杀死单个进程,而是通过程序的进程名来杀死一类进程。

二.计划任务

1.一次性任务

一次性执行任务:at 加时间 [HH:MM] [YYYY-MM-DD] ctrl D 提交任务。

格式用法
HH:MM比如 04:00 AM。如果时间已过,则它会在第二天的同一时间执行。
Midnight(midnight)代表 12:00 AM(也就是 00:00)。
Noon(noon)代表 12:00 PM(相当于 12:00)。
Teatime(teatime)下午茶代表 4:00 PM(相当于 16:00)。
英文月名 日期 年份比如 January 15 2018 表示 2018 年 1 月 15 号,年份可有可无。
MMDDYY、MM/DD/YY、MM.DD.YY比如 011518 表示 2018 年 1 月 15 号。
now+时间以 minutes、hours、days 或 weeks 为单位,例如 now+5 days 表示命令在 5 天之后的此时此刻执行。

2.周期性任务crontab

配置定时性周期任务规则:*   *    *    *    *    +执行用户    +执行命令

项目含义范围
第一个"*"一小时当中的第几分钟(minute)0~59
第二个"*"一天当中的第几小时(hour)0~23
第三个"*"一个月当中的第几天(day)1~31
第四个"*"一年当中的第几个月(month)1~12
第五个"*"一周当中的星期几(week)0~7(0和7都代表星期日)

例如:每月的 1号 15号  30号
            * *   1,15,30  *  *

在时间表示中,还有一些特殊符号需要学习

特殊符号含义
*(星号)代表任何时间。比如第一个"*"就代表一小时种每分钟都执行一次的意思。
,(逗号)代表不连续的时间。比如"0 8,12,16***命令"就代表在每天的 8 点 0 分、12 点 0 分、16 点 0 分都执行一次命令。
-(中杠)代表连续的时间范围。比如"0 5 ** 1-6命令",代表在周一到周六的凌晨 5 点 0 分执行命令。
/(正斜线)代表每隔多久执行一次。比如"*/10命令",代表每隔 10 分钟就执行一次命令。

在书写 crontab 定时任务时,需要注意以下几个事项:

  • 6 个选项都不能为空,必须填写。如果不确定,则使用“*”代表任意时间。

  • crontab 定时任务的最小有效时间是分钟,最大有效时间是月。像 2018 年某时执行、3 点 30 分 30 秒这样的时间都不能被识别。

  • 在定义时间时,日期和星期最好不要在一条定时任务中出现,因为它们都以天为单位,非常容易让管理员混淆。

  • 在定时任务中,不管是直接写命令,还是在脚本中写命令,最好都使用绝对路径。有时使用相对路径的命令会报错。

三.本章涉及面试题

1.运维需要关注服务器的系统性能及如何查看

  1. 内存:free -h 、top
  2. cpu使用率:top动态 、 ps aux静态、ps -elf、vmstat
  3. 磁盘容量:剩余容量 df -h、分区 lsblk、详细 fdisk -l +设备名
  4. 查看磁盘io即读写性能:vmstat、iotop(需要安装)、iostat(-d指定硬盘)、dd。input代表往磁盘写,output从磁盘复制出来。
  5. 查看网卡流量:iftop(需要安装扩展包再安装) -ni再加网卡名

http://www.dtcms.com/a/108093.html

相关文章:

  • SpringMvc获取请求数据
  • HTML5 Canvas绘画板项目实战:打造一个功能丰富的在线画板
  • 配置 UOS/deepin 系统远程桌面,实现多台电脑协同办公
  • PHP 8.x:现代Web开发的性能与效率革命
  • 解码 __getitem__ 和 __len__ - 自定义序列的钥匙
  • Prompt攻击是什么
  • Go和Golang语言简介
  • 快速排序与归并排序
  • 【硬件视界10】网络硬件入门:音频设备详解:声卡与音响系统
  • 【区块链 + 可信存证】国链区块链可信存证系统| FISCO BCOS 应用案例
  • 使用Qemu模拟32位ARM系统
  • OpenCV图像形态学:原理、操作与应用详解
  • 前端实现单点登录(SSO)的方案
  • Pycharm(十二)列表练习题
  • mac环境中Nginx安装使用 反向代理
  • 通俗解释 TCP 的三次握手、四次挥手
  • 《深度探索:数据库树形数据遍历与节点更新的游标之道》
  • 在PyTorch中使用GPU加速:从基础操作到模型部署
  • React-01React创建第一个项目(npm install -g create-react-app)
  • 【扣子agent入门】搭建计算热量工作流
  • 【QT】构建项目
  • DIY搭建网站(学术个人介绍主页)
  • 2025年大模型与Transformer架构:重塑AI未来的科技革命
  • docker的入门以及使用
  • unity运行中场景指定模型回放功能(模型是地形并且可以加载预制体进行回放)
  • Java面试黄金宝典30
  • 无需安装Office进行 Word、Excel操作的微软开发库
  • MySQL 锁机制:数据库的交通管制系统
  • 2023年12月电子学会青少年软件编程图形化三级考级真题—打砖块游戏
  • 用Rust和WebAssembly打造轻量级前端加密工具