Linux——进程&程序&计划任务管理

一、 进程和程序的关系

1.1 程序

  • 保存在硬盘、光盘等介质中可执行代码和数据
  • 静态保存的代码

1.2 进程

  • 在CPU和内存中运行的程序代码
  • 动态执行代码
  • 父、子进程
  • 每个程序可以创建一个或多个进程

**1. 进程是程序运行的过程

2. 内核程序:调度进程使用资源。**

1.2 进程的4种状态:
一、 running
二、sleeping
三、 stopped
四、zombie
1.3 进程状态
在多任务处理的操作系统中,每个CPU(或核心)在一个时间点上只能处理一个进程。在进程运行时,它对CPU时间和资源分配的要求会不断变化,从而为进程分配一个状态,它随着环境要求而改变。

二、查看进程

2.1 PS——静态查看进程

一般使用 PS aux 或者使用 ps aux | less // 分页查看

ps的命令选项:
ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
-A 列出所有的行程
-w 显示加宽可以显示较多的资讯
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
au(x) 输出格式 :
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER: 行程拥有者
PID: pid
%CPU: 占用的 CPU 使用率
%MEM: 占用的记忆体使用率
VSZ: 占用的虚拟记忆体大小
RSS: 占用的记忆体大小
TTY: 终端的次要装置号码 (minor device number of tty)
STAT: 该行程的状态:
D: 无法中断的休眠状态 (通常 IO 的进程)
R: 正在执行中
S: 静止状态
T: 暂停执行
Z: 不存在但暂时无法消除
W: 没有足够的记忆体分页可分配
<: 高优先序的行程
N: 低优先序的行程
L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
START: 行程开始时间
TIME: 执行的时间
COMMAND:所执行的指令
在这里插入图片描述

1.2 ps -elf
将以长格式显示系统中的进程信息,并且包含更丰富的内容
输出中还包括PPID(表示对应的父进程的PID号)
在这里插入图片描述

2.2 top——动态查看进程

2.2.1 格式

top 选项

2.2.2 选项
d : 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s
q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行
c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S : 累积模式,会将己完成或消失的子行程 ( dead child process ) 的 CPU time 累积起来
s : 安全模式,将交谈式指令取消, 避免潜在的危机
i : 不显示任何闲置 (idle) 或无用 (zombie) 的行程
n : 更新的次数,完成后将会退出 top
b : 批次档模式,搭配 “n” 参数一起使用,可以用来将 top 的结果输出到档案内
2.2.3 案例:
案例 top -d 1 -u 用户名 //查看指定用户进程
案例 top -d 1 -b -n >top.txt // 将二次的top进程写入top.txt文件
在这里插入图片描述

2.3 pgrep——查看单个进程

pgrep -l -u 用户名 //查看个用户的进程
-l 查看输出对应的PID值
-u 查看当个用户的进程
在这里插入图片描述在这里插入图片描述

2.4 pstrss——查看进程树

进程的树形结构,父进程、子进程关系

2.4.1 选项

  • -p:列出对应的PID号
  • -u:列出对应的用户名
  • -a:列出完整的命令信息
pstree -aup    
ptree -ap ttyy (用户名)

三、控制进程

3.1 启动进程

将进程调到后台
在语句后面加& 例如:cp /dev/cdrom mycd.sio &

3.2 改变进程的运行方式

ctrl+z //挂起到后台
ctrl+c //终止
jobs -l //查看进程任务情况
fg 进程号 将后台的进程调到前台运行
bg 可以将后台中暂停执行的任务继续运行,不到前台(搭配,Ctrl+C和Ctrl+Z)

3.3 终止进程执行

  1. kill : kill -9 进程号 //强制杀死进程
  2. pkill : pkill -9 -U 用户名 //强制杀死单个用户的所有进程,高危命令有BUG谨慎使用
  3. killall : killall -9 vim //是指vim的所有进程

四、计划任务管理

4.1 at一次性任务设置

设置一次性任务计划,在2020-6-24 15:48将root用户的进程数写到ps.root中。ctrl+d提交任务
在这里插入图片描述

查看任务 atq
删除任务  atrm 2  //2是指任务号

4.2 crontab周期性任务设置

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

案例:每隔2分钟同步一次ntp1.aliyun.com,产生的日志文件,追加到/var/log/ntpdate.log日志文件中。

在这里插入图片描述

4.2 crontab的配置文件和目录

1. cat /etc/crontab     //系统任务配置文件 
2. /etc/cron.*             //系统默认设置cron任务的配置文件存放目录
3. /var/spool/cron     //用户cron任务的配置文件存放目录

猜你喜欢

转载自blog.csdn.net/weixin_42099301/article/details/106911682