Linux进程和计划任务管理

一、程序和进程

程序:保存硬盘、光盘等介质中的可执行代码和数据;文件中静态保存的代码

进程:在CPU及内存中运行的程序代码;动态执行的代码;父子进程;每个程序可以创建一个或者多进程

线程与进程有什么区别:是程序的副本,就是把进程复制了一份,
只复制了进程的部分代码。真正执行的是线程而不是进程。相当于是进程的打工仔

查看进程信息

ps命令

  • ps命令
    ps -aux

常用选项

-a:显示终端上的所有进程,包括其它用户的进程。
-u:表示列出进程的用户
-x:显示所有终端的进程。

[root@192 ~]# ps -aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.1  0.3 128164  6828 ?        Ss   21:35   0:00 /usr/lib/systemd/systemd 
USER:进程的用户
PID:进程的ID
%CPU:进程占用的CPU百分比
%MEM:占用内存的百分比
VSZ:该进程使用的虚拟内存量(KB)
RSS:该进程占用的物理内存量(KB)
TTY:启动进程的终端名。不是从终端启动的进程则显示为?
**STAT:该行程的状态(D:不可中断的休眠状态;R:正在运行状态;S:处于休眠状态,可被唤醒;T:停止状态,可能是在后台暂停或进程处于跟踪调试状态;**z:僵尸进程,进程已经中止,但是部分程序还在内存当中)
START:该进程被触发启动时间
TIME:该进程实际使用CPU运行的时间
COMMAND:进程的启动命令

 

 

ps -elf 命令

ps -elf
-e:显示系统内的所有进程信息
-l:使用长格式显示进程信息
-f:使用完整的格式显示进程信息

[root@192 ~]# ps -elf
F S UID         PID   PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
4 S root          1      0  0  80   0 - 32041 ep_pol 21:35 ?        00:00:00 /usr/lib/syste
 
F:内核分配给进程的系统标记
S:进程的状态
UID:启动这些进程的用户
PID:进程的进程ID
PPID:父进程的进程号(如果该进程是由另一个进程启动的)
C:进程生命周期中的CPU利用率
PRI:进程的优先级(越大的数字代表越低的优先级)
NI:谦让度值用来参与决定优先级
ADDR:进程的内存地址
SZ:假如进程被换出,所需交换空间的大致大小
WCHAN:若该进程在睡眠,则显示睡眠中的系统函数名
STIME:进程启动时的系统时间
TTY:进程启动时的终端设备
TIME:运行进程需要的累计CPU时间
CMD:进程的启动命令

 

查看动态进程

top 命令(查看动态进程信息)
top常用命令:
P键:根据CPU使用百分比大小进行排序
M键:根据驻留内存大小进行排序
N键:根据启动时间进行排序
c键:切换显示命令名称和完整命令行
h键:可以获得 top程序的在线帮助信息
k键:根据提示输入指定进程的 PID 号并按 Enter 键终止对应的进程
q键:退出 top 程序
数字1键:显示CPU个数和状态
 

 

top行:任务队列信息


18:54:31 系统时间
up 4:37系统已运行时长
3 user 当前用户登录数
load average 0.00,0.07,0.07 系统负载,单位时间内系统处理的任务数,这三个数分别为1分钟,35分钟,21分钟前到现在的平均值

Tasks行:进程信息


total:总进程数
running:正在运行的进程数
sleeping:休眠进程数
stopped:中止的进程数
zombie:僵尸无响应进程数

%CPU行:CPU的信息


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

Mem行:内存占用信息


total:总内存空间
used:已用内存
free:空闲内存
buffers:缓冲区域

Swap行:交换空间信息


total:总交换空间
free:空闲交换空间
used:已用空间交换
avail Mem:可用物理空间

pgrep 命令

根据特定条件定向查找进程PID

  1. pgrep -l "log" #-l:显示进程名,缺省时只输出PID号

  2. pgrep -l -U gcc -t tty2 #--U:指定特定用户 -t:指定终端

查看进程树pstree

以树形结构更加直观的判断出各进程之间的相互关系,结合 “-p” 可以列出对应的PID号, “-u” 可以列出各进程用户名, “-a ” 列出完整的命令信息

pstree -aup

 

jobs命令


查看处于后台的任务列表

常用的参数

-l:选项可以同时显示该进程对应的PID号

将后台的进程恢复运行
使用 bg(BackGround,后台)命令,可以将后台中暂停执行(如按 Ctrl+Z 组合键挂起)的任务恢复运行,继续在后台执行操作;
使用 fg 命令(ForeGround,前台),可以将后台任务重新恢复到前台运行。
除非后台中的任务只有一个,否则 bg 和 fg 命令都需要指定后台进程的任务编号作

为参数。 


终止进程执行


当用户在前台执行某个进程时,可以按Ctrl+C组合键强制进行中断(如命令长时间没有响应的情况下)。


中断前台进程的运行后,系统将返回命令行提示符状态等待用户输入新的命令。当按 Ctrl+C 组合键无法终止程序或者需要结束在其他终端或后台运行的进程时, 可以使用专用的进程终止工具 kill、killall
 

使用 kill 命令终止进程


通过 kill 命令终止进程时,需要使用进程的 PID 号作为参数。无特定选项时,kill 命令将给该进程发送终止信号并正常退出运行,若该进程已经无法响应终止信号,则可以结合“-9”    选项强行终止进程。强制终止进程时可能会导致程序运行的部分数据丢失,因此不到不得已时不要轻易使用“-9”选项。

使用 killall 命令终止进程 


使用 killall 命令可以通过进程名称来终止进程,当需要结束系统中多个相同名称的进程时,使用 killall 命令将更加方便,效率更高。killall 命令同样也有“-9”选项。
 

crontab周期性任务设置


牢记:时间周期(分、时、日、月、周)

重复执行用户指定的命令操作,是属于周期性计划任务

主要的配置文件


全局配置文件:文件位于:/etc/crontab
系统默认的设置:目录位于:/etc/cron.*/
用户定义设置。文件位于:/var/spool/cron/用户名

管理计划任务

编辑: -e 【-u 用户名】
查看: -l 【-u 用户名】
删除: -r 【-u 用户名】
注意:如果 -u 不存在就默认为当前用户

计划任务的配置格式

字段说明
分钟0 到 59 任意整数
小时0 到 23 任意整数
日期1 到 31 任意整数
月份1 到 12 任意整数
星期0 到 7 任意整数,0和7表示星期日

示例:
每1分钟执行: /1 * * * *
每五分钟执行: /5 * * * *

每小时执行: * 0 * * *
每天上午7点执行:0 7 * * *

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值