linux进程管理

Linux进程管理

​ 程序:一组指令以及参数集合,按照相应的逻辑控制计算机完成特性任务,可以开发编程

​ 特点:静态的、封闭的

​ 系统、用户、固件

​ 程序====》系统调====》缓存(内存)====》CPU处理 执行任务

​ 进程:运行的程序,动态。操作系统上的基本单位,生命周期,运行状态

​ 特点:并发性、交互性

​ 操作系统以进程为单位分配系统资源

​ 每一个进程运行是独立的

​ 具有独立的地址空间,运行状态

​ 多个程序同时运行,每一个程序就是一个进程

​ 程序====》运行====》进程1、进程2、进程3···

​ 扩展:

​ 应用(应用程序)

​ |

​ 内核(内核文件、内核模块、驱动程序)

​ | 固件(芯片+程序)

​ 硬件

​ 线程:

​ 一个进程中可有多个线程,每一个线程只能被一个进程所拥有,每一个进程可以拥有多个线程。(每一个线程可以被不同的进程运行,但运行结果需要整合到一块才能被使用)。

​ 线程无法独立运行,线程的运行由进程决定

进程的生命周期:

等待状态----就绪状态------运行状态-----阻塞状态-----休眠状态-----死亡状态

子进程继承父进程的所有资源,子进程运行过程中父进程处于休眠状态,只有子进程运行结束,父进程才再次运行

僵尸进程:父进程产生了一个子进程,子进程又产生了自己的子进程,当该子进程运行结束,它所产生的子进程便成为僵尸进程

进程的管理工具:

​ pstree 进程树,查看进程间的关系

​                         -p:显示pid

​                         -u:显示用户

[root@localhost ~]# yum install psmisc//7上没有pstree命令,需自己下载

​ ps

​                      -a:显示所有进程

​                      -u:显示以用户为主的进程

​                      -x:和au一起使用,显示完整信息

​                      -l:显示更加完整的信息

[root@localhost ~]# ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 7725 7719 0 80 0 - 28893 do_wai pts/0 00:00:00 bash
0 R 0 8201 7725 0 80 0 - 38309 - pts/0 00:00:00 ps
标志(类型) 、状态、执行者身份、进程的ID、父进程的ID、CPU资源百分比、进程的优先权,优先值、地址、使用进程大小、当前进程的状态、终端位置、用掉CPU的时间、当前执行指令的名称

pgrep

               -l:显示进程名和PID

​               -o:显示进程号最小的一个(父进程)

​               -n:显示进程号最大的一个(子进程)

kill(带进程号【PID】) killall(直接带上名字杀死进程) pkill

​         -9   强制杀死进程

​         -w   等待进程死亡

​         -l    列出已知信号

​         -u    指定用户

​         -0    判断进程是否存在,杀不死进程

​         -15  终止进程

htop:监控软件,top的增强版

vmstat:常见的监控工具

[root@localhost ~]# vmstat
procs -----------memory---------- —swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 684204 29680 159964 0 0 10 3 48 79 0 0 99 0 0

r:等待执行的任务数

b:等待的进程数

si so:当si数字显示不为零,说明内存不足,启用swap分区了。

in:每秒钟中断的进程数

cs:每秒钟上下文切换的次数

us:用户进程执行程序消耗的时间

id:空闲时间(包括等待时间)

wa:等待io时间

st:系统等待时间

lsof:

​ -i+端口:

​ :80:web

​ :3306:mysql

​ :8080:tomcat

​ :22:ssh

程序优先级:0 - 139

【nice值(-20)---- 19,值越小,优先级越高】

有效的时时优先级:0 - 99 — 值越小优先级越高

非有效时时优先级:100 - 139 — 值越小优先级越高【静态优先级】

查看/调整进程的nice级别:
使用top查看进程的优先级

PR:由静态优先级-100(RT:不是静态优先级)

NI:nice值,(-20)---- 19

修改NI:输入r,输入要修改的PID号,然后输入要修改的NI号,范围在(-20)---- 19

renice 【-20-19】 PPID:修改子进程(PPID)的nice值

[root@localhost ~]# renice 10 7708

htop F7(nice-) F8(nice+)

进程的状态

sleeping — 睡眠状态

stopping — 停止状态

running — 运行状态

zombie — 僵死状态

实时变化

作业

[root@localhost ~]# ping www.baidu.com >/dev/null 2>&1 &
[1] 6700
将ping的结果重定向到/dev/null中,并让它在后台运行作业,不会影响前台作业

shell可以同时运行一个前台作业和任意后台作业

egrep===grep -E “ping|sleep(ping或者sleep)”

[root@localhost ~]# jobs(查看当前终端的后台作业)
[1]+ Running ping www.baidu.com > /dev/null 2>&1 &
[root@localhost ~]# bg %2【job编号】(让作业2在后台运行起来)
[root@localhost ~]# fg %1(将作业1调回前台运行)
[root@localhost ~]# Ctrl+z(将正在执行的作业调到后台,并暂停)
[root@localhost ~]# kill %3(终止并杀掉作业3)
[root@localhost ~]# ping 192.168.220.18(已经在后台运行,在前台输出结果;不影响前台作业执行,可以执行job和kills)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值