内容结构:

  • 查看进程

  • 控制进程

  • at 一次性任务设置

  • crontab 周期性任务设置


(一)查看进程

程序和进程的关系

程序

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

  • 静态保存的代码

进程

  • 在cpu及内存中运行的程序代码

  • 动态执行的代码

  • 父,子进程

  •  每个进程可以创建一个或多个进程

线程

  • 一个进程中包含多个线程

  • 进程是线程的集合

查看静态的进程统计信息—ps命令

[root@localhost ~]# ps aux  简单形式显示进程信息
  • a:查看系统当前所有进程

  • u:指定用户

  • x:该用户在所有终端(tty)下的进程 ps/0远程终端



PID:进程号,VSZ:虚拟内存,RSS:物理内存,TTY:终端(?未知),%CPU:cpu占用率,%MEM:占用内存率,START:运行开始时间,TIME:进程占用cpu的总时间,COMMAND:进程名

STAT:当前进程的状态

  • S 可中断休眠进程 

  • D 不可中断休眠进程

  • s 父进程

  • < 优先级高的进程

  • R 正在运行的进程

  • l 多线性进程

  • N 优先级低

  • Z 僵尸进程

  • + 前台进程

[root@localhost ~]# ps -elf   长格式显示系统中进程的信息
  • e:全部

  • f:完整的形式

  • l:长格式

PPID:当前进程的父进程

PRI:用户态优先级

NI:内核态 -20到19  越低优先级越高

ADDR:-正在运行

SZ:占用swap分区容量

WCHAN:当前进程在内核中的名称

查看动态的进程排名信息—top(每隔三秒刷新一次)

[root@localhost ~]# top

  • 系统任务(Tasks)信息:total,总进程数;running,正在运行的进程数;sleeping,休眠的进程数;stopped,中止的进程数;zombie,僵死无响应的进程数。

  • CPU 占用信息:us,用户占用;sy,内核占用;ni,优先级调度占用;id,空闲 CPU;wa,I/O 等待占用;hi,硬件中断占用;si,软件中断占用;st,虚拟化占用。要了解空闲的 CPU 百分比,主要看%id 部分。

  • 内存占用(Mem)信息:total,总内存空间;free,空闲内存;used,已用内存;buff/cache,物理内存和交换内存的缓冲区总和。

  • 交换空间(Swap)占用:total,总交换空间;free,空闲交换空间;used,已用交换空间;avail Mem,可用物理空间。

根据特定条件查询进程PID信息—pgrep命令

[root@localhost /]# pgrep -l "log"   查看当前用户的log相关的进程详细信息

[root@localhost /]# pgrep -l -U test1 "bash"   查看指定用户进程的详细信息


以树形结构列出进程信息—pstree命令

[root@localhost /]# pstree -aup  查看当前用户的树形进程

a:显示完整信息

u:列出对应用户名

p:列出对应PID号

[root@localhost /]# pstree -ap test1  查看指定test1用户的树形进程

(二)控制进程

手工启动

  • 前台启动:用户输入命令,直接执行程序

  • 后台启动:在命令行尾加入“&”符号

进程的前后台调度

Ctrl+z组合键

  • 将当前进程挂起,及调入后台并停止执行

jobs命令

  • 查看处于后台的任务管理(-l显示详细信息)

fg命令

  • 将后台进程恢复到前台运行,可指定任务序号

bg命令

  • 将进程恢复运行并在后台运行

Ctrl+c组合键

  • 中断正在执行的命令

kill,killall命令

  • kill用于终止指定PID号的进程

  • killall用于终止指定名称的所有进程

  • -9选项用于强制终止

pkill命令

根据特定条件终止相应的进程

常用选项

  -U:根据进程所属用户名终止相应进程

  -t:根据进程所在的终端终止相应进程

(三)at 一次性计划任务设置

at命令

at [HH:MM] [yyyy-mm-dd]  小时:分钟  年-月-日  
atq 查看当前系统计划任务
atrm 删除计划任务
Ctrl+d 提交任务


(四)crontab 周期性计划任务设置

crontab命令

  • 安装预先设置的时间周期(分,时,日,月,周)重复执行用户指定的命令操作

  • 属于周期性计划任务

  • 主要设置文件

       全局配置文件/etc/crontab

       系统默认的设置/etc/cron.*/

       用户定义的设置/var/spool/cron/用户名

管理cron计划任务

编辑计划任务

crontab -e [-u 用户名]

查看计划任务

crontab -l [-u 用户名]

删除计划任务

crontab -r [-u 用户名]



谢谢阅读!!!