进程和定时任务

进程和计划任务管理:

进程管理相当于windows的任务管理器:

程序是一串没有运行的代码

进程是运行起来的代码

线程:线程相当于复制了进程的部分代码,程序运行起来之后,真正执行的是线程

Linux系统当中启动程序的过程:

父进程先启动------------子进程

子进程的资源由父进程来进行分配。

结束的过程:

子进程先结束-----------父进程收回子进程的资源-----------父进程才会终止。

特殊情况:

父进程结束了,子进程还在? 僵尸进程。

查看进程信息 静态查看 动态查看

ps-------静态查看进程信息

方法一:

ps -aux

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

u:列出进程的执行用户。

x:显示当前终端进程的详细信息。

[root@localhost ~]# ps -aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.1 128260  6912 ?        Ss   07:42   0:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root          2  0.0  0.0      0     0 ?        S    07:42   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    07:42   0:00 [ksoftirqd/0]
root          5  0.0  0.0      0     0 ?        S<   07:42   0:00 [kworker/0:0H]
root          6  0.0  0.0      0     0 ?        S    07:42   0:00 [kworker/u256:0]
root          7  0.0  0.0      0     0 ?        S    07:42   0:00 [migration/0]
root          8  0.0  0.0      0     0 ?        S    07:42   0:00 [rcu_bh]
root          9  0.0  0.0      0     0 ?        S    07:42   0:00 [rcu_sched]
root         10  0.0  0.0      0     0 ?        S<   07:42   0:00 [lru-add-drain]
root         11  0.0  0.0      0     0 ?        S    07:42   0:00 [watchdog/0]
root         12  0.0  0.0      0     0 ?        S    07:42   0:00 [watchdog/1]
root         13  0.0  0.0      0     0 ?        S    07:42   0:00 [migration/1]
root         14  0.0  0.0      0     0 ?        S    07:42   0:00 [ksoftirqd/1]
root         15  0.0  0.0      0     0 ?        S    07:42   0:00 [kworker/1:0]
root         16  0.0  0.0      0     0 ?        S<   07:42   0:00 [kworker/1:0H]
​

user:进程的用户

PID:进程号,每个进程在系统中运行时的唯一标志。每个pid都是不重复的。

%cpu:进程占用cpu的百分比

%MEM:进程占用物理内存的百分比

vsz:进程使用的虚拟内存大小(kb)

RSS:占用物理内存的量(kb)

tty:表示终端。? 表示该进程不是由终端启动的

STAT:status状态 进程的状态:

1、S: 处于休眠状态,但是随时可唤醒

状态后面的字符含意:

1)s:该进程包含子进程

2)<:该进程优先级高

3)N:低优先级

4)l:该进程有多个线程

5)+:进程位于前台运行

6)L:该进程有一部分被锁进内存

2、D: 不可唤醒的休眠状态

3、R: 运行

4、T: 停止状态,后台进程暂停或者进程处于跟踪调试状态。

5、Z: 僵尸进程:父进程结束,但是子进程还在

START:进程启动的时间

TIME:进程实际使用cpu运行的时间

COMMAND:进程启动的命令

ps -aux 主要用来进程占用系统资源的情况

方法二:

ps -elf 也是静态查看进程信息的方法

e:显示系统内的所有进程

l:显示进程的详细信息

f:完整的格式展示进程信息

0:00:00 ps -elf
[root@localhost ~]# 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 - 32065 ep_pol 07:42 ?        00:00:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
1 S root          2      0  0  80   0 -     0 kthrea 07:42 ?        00:00:00 [kthreadd]
1 S root          3      2  0  80   0 -     0 smpboo 07:42 ?        00:00:00 [ksoftirqd/0]
1 S root          5      2  0  60 -20 -     0 worker 07:42 ?        00:00:00 [kworker/0:0H]
1 S root          6      2  0  80   0 -     0 worker 07:42 ?        00:00:00 [kworker/u256:0]
1 S root          7      2  0 -40   - -     0 smpboo 07:42 ?        00:00:00 [migration/0]
1 S root          8      2  0  80   0 -     0 rcu_gp 07:42 ?        00:00:00 [rcu_bh]
1 S root          9      2  0  80   0 -     0 rcu_gp 07:42 ?        00:00:00 [rcu_sched]
1 S root         10      2  0  60 -20 -     0 rescue 07:42 ?        00:00:00 [lru-add-drain]
5 S root         11      2  0 -40   - -     0 smpboo 07:42 ?        00:00:00 [watchdog/0]
5 S root         12      2  0 -40   - -     0 smpboo 07:42 ?        00:00:00 [watchdog/1]
1 S root         13      2  0 -40   - -     0 smpboo 07:42 ?        00:00:00 [migration/1]
1 S root         14      2  0  80   0 -     0 smpboo 07:42 ?        00:00:00 [ksoftirqd/1]
1 S root         15      2  0  80   0 -     0 worker 07:42 ?        00:00:00 [kworker/1:0]
​

F:内核分配给进程的系统标识

S:进程的状态

UID:该进程的用户

PID:该进程的进程号

PPID:该进程的父进程,谁启动的这个进程

C:进程在生命周期当中的cpu利用。

PRI:优先级 数字越大,优先级越低

NI:谦让制

ADDR:进程在内存当中的地址

SZ:假如该进程被换出,需要的交换的空间大小

WCHAN:如果进程处于休眠状态,显示睡眠中的系统函数名

STIME:进程启动的时间

time:进程实际使用cpu运行的时间

cmd:进程启动的详细命令

进程管理:

结束进程的命令:kill -9 进程号(强制结束该进程)

面试题:kill进程是谁来结束进程?

kill只是传递了一个信号 -9 标识强制和立即。是系统将进程结束。

特殊的进程 僵尸进程

面试题:如果有僵尸进程,你该怎么办?

少量的僵尸进程影响不大,因为僵尸进程所占的系统资源很少,可以忽略不计。

僵尸进程太多了怎么办?

僵尸进程是没有办法通过kill强制结束。重启之后僵尸进程就消失了。

动态获取进程信息:

top

top - 11:08:30 up 3:26, 3 users, load average: 0.00, 0.01, 0.05

11:08:30 系统时间

up:系统运行的市场

3 users:当前登录系统的用户

load average:0.00,0.01,0.05 系统的负载 一分钟 0.01 五分钟 0.05 15分钟 系统处理的任务数平均值

Tasks: 223 total, 1 running, 220 sleeping, 2 stopped, 0 zombie

进程信息:219 total 系统总共有多少个进程

running 运行的进程数

sleeping 休眠的进程数

stop 终止的进程数

zombie 僵尸进程数

%Cpu(s): 0.2 us, 0.5 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0

us:系统用户占用cpu的百分比

sy:内核占用cpu的百分比

ni:优先级调度占用的cpu

id:系统空闲的cpu的比率 主要看id

wa:磁盘的读写性能

hi:1分钟内cpu的使用率

si:5分钟内cpu的使用率

st:15分钟内cpu的使用率

KiB Mem :  3861508 total,  1221284 free,   757540 used,  1882684 buff/cache
KiB Swap:  4063228 total,  4063228 free,        0 used.  2761596 avail Mem 
#这两行就是free -h
PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND 

PID:进程号

USER:进程的用户

PR:优先级

NI:谦让值

VIRT:进程使用的虚拟内存kb

RES:进程使用的物理内存kb

SHR:共享内存的大小

S:进程的状态

%CPU:进程占用cpu的百分比

%MEM:进程占用物理内存的百分比

TIME+:进程使用cpu的时间总计 1/100秒

commd:进程启动的命令

数字1键:显示cpu的个数和状态

c键:根据cpu占用的量的百分比大小,从大到小排序

q键:退出top

top -b -n 1:运行一次之后立刻退出top,相当于ps

运维的指标:

五大负载:

cpu负载: 监控cpu的使用率 工具:top,htop,了解cpu是否过载,cpu占用了85%需要注意了 90%告警

内存负载: 监控内存free top 内存的占用比一般是90%告警。优化:关闭不需要的服务,释放缓存。

echo 1 >/proc/sys/vm/drop_caches 清除缓存的

硬盘负载: I/O 磁盘的读写性能 iostat

物理负载: 带宽的利用率,流量的使用情况

进程负载: 监控进程使用资源的情况top ps

pgrep 查找进程ip一般配合kill一起使用

-a 显示进程名和pid号

-c 仅显示匹配的进程的数量,不显示其他内容

-f 匹配进程名以及参数

jobs 列出位于后台进程的状态信息

-l 列出所有后台进程的pid号,进程名

-p 列出所有后台进程组id,只要pid

-n 仅显示最近的后台进程,只显示

-r 仅显示正在运行的后台进程

-s 仅显示已停止的后台进程

如何把运行的程序调度到后台?

在命令行的结尾加一个&符号,就是把进程调度到后台运行

fg可以把后台的任务调度到前台。

计划任务(定时任务):

* * * * *

分 时 日 月 周

分 0-59

时 0-23

日 1-31

月 1-12

周 0-7 0和7都表示周日

* * * * *一般是可执行的脚本

Crontab

*表示该范围的任意时间

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

10,20,30 * * * * ls

-表示连续的时间范围

2-10 * * * * ls

/ 表示间隔的频率

*/5 * * * * ls

每天早上的8点30分执行一次ls

30 8 * * * ls

每天的13-16点30分,执行一次ls

30 13-16 * * *ls

每个月中,每隔10天的早上6点30分执行一次ls

30 6 */10 * * ls

每周三的下午的17点的30-35分钟执行ls

30-35 17 * * 3 ls

crontab -e 创建定时任务,默认就是当前用户执行

crontab -e -u 用户名 指定用户创建定时任务

定时任务在后台执行

删除定时任务:

crontab -r 全部清空定时任务(禁止使用该命令

crontab -e 进去之后,要删哪个删哪个

查看定时任务

crontab -l

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值