linux进程和计划任务管理

一.查看进程和控制进程

  1. 程序和进程的关系

程序

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

文件中静态保存的代码

二进制文件,静态**/bin/data、/usr/sbin/sshd**

进程

在CPU及内存中运行的程序代码‘

动态执行的代码

父、子进程

每个程序可用创建一个或多个进程

进程是程序运行的过程、动态,有生命周期及运行状态

线程

线程被包含在进程中,是进程中的实际运作单位,也是操作系统中能够独立运行的基本单位,也称为轻量进,一个进程中可以并发多个线程.

程序—>进程—>线程

僵尸进程

一个进程结束了,但是如果该进程的父进程已经先结束了,

那么该进程就不会变成僵尸进程,因为每个进程结束的时候,

系统都会扫描当前系统中所运行的所有进程,看有没有哪个进程是刚刚结束的这个进程的子进程,

如果是的话,就由Init来接管它,成为它的父进程,子进程退出后init会回收其占用的相关资源。

但是当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵尸进程。

2)进程的几个状态

① 运行状态:R

② 可中断睡眠状态:S

③ 不可中断睡眠状态:D

④ 僵死状态:Z

⑤ 停止状态:T

CPU同一时刻只能运行一个进程,存在cpu时间片:给一个进程分配一个时间,实际这个时间非常短;

二.查看进程命令

1.ps

ps -aux

a:显示终端上的所有进程,包括其它用户的进程。

u:表示列出进程的用户。

x:显示所有终端的进程信息。

USER 产生进程的用户
PID pid进程号
%CPU 占用cpu的百分比
%MEM 占用内存的百分比
VSZ 占用的虚拟内存
RSS 实际用到的物理内存
TTY 进程运行的终端 TTY本机 PTS/0 远程终端
STAT 进程运行的状态 R正常运行状态 S可中断睡眠状态 D不可中断的睡眠状态 Z僵死状态 T停止状态 X死亡状态 Ss 小s表示控制进程 S< <表示高优先级 SN N表示低优先级 l表示多个进程 +表示前台进程
START 进程触发的时间
TIME 占用cpu的时间
COMMAND 执行进程的命令 []内核产生的进程(内核态) 不带【】是用户产生的进程

ps -elf

-e:显示系统内的所有进程信息。

-l:使用长格式显示进程信息。

-f:使用完整的格式显示进程信息。

-a:显示所有进程pid。

-T:查看线程信息。

F:代表这个程序的旗标 (flag), 4 代表使用者为 superuser;
S:代表这个程序的状态 (STAT)
UID:代表执行者身份
PID:进程的ID号
PPID:父进程的ID;
C:CPU 使用的资源百分比
PRI:指进程的执行优先权(Priority的简写),其值越小越早被执行;
NI :进程的nice值,可以调整影响优先级PRI的大小;只能root可以修改值;(若PID=80,NI=0,想要更改优先级,就把NI=-20,PRI就变成60)
ADDR :这个是内核函数,指出该程序在内存的那个部分。如果是个执行
的程序,一般就是『 - 』
SZ: 使用掉的内存大小;
WCHAN:目前这个程序是否正在运作当中,若为 - 表示正在运作;
TTY:登入者的终端机位置
TIME:使用掉的 CPU 时间。
CMD:执行命令

ps默认以PID的顺序列出

ps -o 指定输出内容

ps -o user,pid,stat(指定查看用户,pid号和进程状态)

2.top命令

查看实时的进程,每3秒更新一次

top 当前时间 up 进程时间 load aveaage CPU的平均负载参数

状态 一共163进程 1个运行 162个处于睡眠状态 0个停止 0个死亡

top用法

c 键:根据CPU使用百分比大小进行排序

q 键:退出 top 程序

数字1 键:显示CPU个数和状态

3.pstree

查看进程以树状结构显示

-u 显示用户

-p 显示PID

4.kill

kill 进程号 杀死进程

-l 查看可用选项

-1 重启

-9 强制杀死

-15 走完流程再杀死,系统默认为15

killall 进程名 杀死所有进程

5.进程相关操作

进程后面+d,表示是daemon守护进程

图形化界面:

ctrl+alt+f1键:图形界面

ctrl+alt+f2-6键:字符界面

starts:返回图形界面(打开新的图形界面)

前台进程:中止后台仍在运行

后台进程:中止即停止进程

命令模式

ctrl+z 将进程调到后台

比如vim tom:编辑内容到一半需要做别的事情,就可以把编辑一半的资料放在后台

命令写到一半想要存放后台 直接在命令后面加上“&”

jobs:查看后台进程

fg+后台任务号,将进程调出到前台,

若命令后面不加&,中间摁键:ctrl+z:暂停放在后台;

bg+任务号,取消暂停在后台回复运行

直接中断停止进程:ctrl+c

kill -9 %1:杀死后台进程号1

三.计划任务管理

1.crontab周期性任务设置

crontab命令

按照预先设置的时间周期重复执行用户指定的命令操作;执行此命令需要运行守护进程:crond,但是现在系统一般都是自动运行的。

代表意义 分钟 小时 日期 月份 周 命令

数字范围 0~59 0~23 1~31 1~12 0~7 需要执行的命令

#周的数字为 0 或 7 时,都代表“星期天”的意思。

*表示该范围内的任意时间

,表示间隔的多个不连续时间点 1,3,5

-表示一个连续的时间范围 2-10 * * * *1-3

/表示间隔的时间频率 */10 * * * * */10

crontab -e

1.每分钟定时执行一次规则:

每1分钟执行: */1 * * * *或者* * * * *

每5分钟执行: */5 * * * *

2.每小时定时执行一次规则:

每小时执行: 0 * * * *或者0 */1 * * *

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

每天上午7点10分执行:10 7 * * *

3.每天定时执行一次规则:

每天执行 0 0 * * * --每天的24点执行

4.每周定时执行一次规则:

每周执行 0 0 * * 1 --每周的第一天,24点,执行

5.每月定时执行一次规则:---每个月的第一天,24点执行

每月执行 0 0 1 * *

6.每年定时执行一次规则 ---第一个月的第一天,24点执行

每年执行 0 0 1 1 *

7.其他例子

5 * * * * ls 指定每小时的第5分钟执行一次ls命令

30 5 * * * ls 指定每天的 5:30 执行ls命令

30 7 8 * * ls 指定每月8号的7:30分执行ls命令

30 5 8 6 * ls 指定每年的6月8日5:30执行ls命令

30 6 * * 0 ls 指定每星期日的6:30执行ls命令[注:0表示星期天,1表示星期1,以此类推,也可以用英文来表示,sun表示星期天,mon表示星期一等。]

30 3 10,20 * * ls 每月10号及20号的3:30执行ls命令[注:“,”用来连接多个不连续的时段]

25 8-11 * * * ls 每天8-11点的第25分钟执行ls命令[注:“-”用来连接连续的时段]

*/15 * * * * ls 每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令 ]

30 6 */10 * * ls 每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls命令。 ]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值