linux进程管理实验报告_Linux系统管理—进程管理

linux 系统管理--进入管理

一、进程基本概述

1.什么是进程?

比如:windows上安装的QQ,我们会将其称为QQ程序,那么当QQ运行之后,在任务管理器中,我们可以看到QQ程序在运行着,此时,我们称其为:QQ进程。

言简意赅总结:当我们运行一个程序,那么我们将该程序叫进程

注意:
1.当程序运行为进程后,系统会为该进程分配内存,以及运行的身份和权限。
2.在进程运行的过程中,服务器上会有各种状态来表示当前进程的指标信息。

进程是已启动的可执行程序的运行实例,进程有以下组成部分:

局部和全局变量当前的调度上下文分配给进程使用的系统资源,例如文件描述符、网络端口等给进程分配对应的pid,ppid

2.程序和进程的区别?

1.程序是开发写出来的代码,是永久存在的。数据和指令的集合,是一个静态的概念,比如/bin/ls、/bin/cp等二进制文件。

2.进程是一个程序的运行过程,会随着程序的终止而销毁,不会永远在系统中存在。是一个动态概念,进程是存在生命周期概念的。

3.进程的生命周期

28cf5532cc93bb6c92834676ca1ab788.png

程序运行时进程的状态关系:

1.当父进程接收到任务调度时,会通过fork派生的进程来处理,那么子进程会集成父进程的衣钵。
2.子进程在处理任务代码时,父进程会进入等待的状态...
3.如果子进程在处理任务过程中,父进程退出了,子进程没有退出,那么这些子进程就没有父进程来管理了,就变成了僵尸进程。
4.每个进程都会有自己的PID号,(process id)子进程则PPID

二、监控进程状态

1.使用ps命令查看当前的进程状态(静态查看)

常用组合:ps aux 查看进程

[root@zls ~]# ps auxa:显示所有与终端相关的进程,由终端发起的u:显示用户导向的用户列表x:显示所有与终端无关的进程

在多任务处理操作系统中,每个CPU(或核心)在一个时间点上只能处理一个进程。
在进程运行时,它对 CPU 时间和资源分配的要求会不断变化,从而为进程分配一个状态,它随着环境要求而改变。

4b321c8d13c372e739e6e95db73ea558.png
USER:       //启动程序的用户PID:        //进程ID%CPU:       //占用CPU的百分比%MEM:       //占用内存的百分比VSZ:        //虚拟内存集(进程占用虚拟内存的空间)RSS:        //物理内存集(进程占用物理内存的空间)TTY:        //运行的终端        ?:      #内核运行的终端        tty1:   #机器运行的终端        pts/0:  #远程连接的终端STAT:       //进程状态        D:      #无法中断的休眠状态(通IO的进程)        R:      #正在运行的状态        S:      #处于休眠的状态        T:      #暂停或被追踪的状态        W:      #进入内存交换(从内核2.6开始无效)        X:      #死掉的进程(少见)        Z:      #僵尸进程        <: n: l: s:>

案例一:PS命令查看前台进程转换到停止

#在终端上运行vim[root@zls ~]# vim zls.txt#查看vim运行的状态,S:睡眠状态 +:在前台运行[root@zls ~]# ps aux|grep [v]imroot       1306  0.0  0.2 151664  5180 pts/0    S+   13:00   0:00 vim zls.txt#执行ctrl + z,将进程放置后台[1]+  已停止               vim zls.txt#进程状态变成了T,暂停或被追踪的状态[root@zls ~]# ps aux|grep [v]imroot       1306  0.0  0.2 151664  5180 pts/0    T    13:00   0:00 vim zls.txt

案例二:PS命令查看不可中断状态

#在终端上运行tar命令[root@zls ~]# tar zcf zls.tar.gz /etc/ /usr/ /var/ /usr/#持续查看tar进程的状态[root@zls ~]# ps aux|grep [t]arroot       1348 13.3  0.0 124008  1700 pts/0    R+   13:06   0:00 tar zcf zls.tar.gz /etc/ /usr/ /var/ /usr/[root@zls ~]# ps aux|grep [t]arroot       1348 13.2  0.0 124008  1716 pts/0    R+   13:06   0:00 tar zcf zls.tar.gz /etc/ /usr/ /var/ /usr/[root@zls ~]# ps aux|grep [t]arroot       1348 15.7  0.0 124008  1716 pts/0    S+   13:06   0:00 tar zcf zls.tar.gz /etc/ /usr/ /var/ /usr/[root@zls ~]# ps aux|grep [t]arroot       1348 13.6  0.0 124008  1736 pts/0    S+   13:06   0:00 tar zcf zls.tar.gz /etc/ /usr/ /var/ /usr/[root@zls ~]# ps aux|grep [t]arroot       1348 15.1  0.0 124008  1736 pts/0    R+   13:06   0:00 tar zcf zls.tar.gz /etc/ /usr/ /var/ /usr/[root@zls ~]# ps aux|grep [t]arroot       1348 14.1  0.0 124008  1736 pts/0    D+   13:06   0:00 tar zcf zls.tar.gz /etc/ /usr/ /var/ /usr/[root@zls ~]# ps aux|grep [t]arroot       1348 13.2  0.0 124008  1756 pts/0    R+   13:06   0:01 tar zcf zls.tar.gz /etc/ /usr/ /var/ /usr/[root@zls ~]# ps aux|grep [t]arroot       1348 15.2  0.0 124140  1756 pts/0    R+   13:06   0:01 tar zcf zls.tar.gz /etc/ /usr/ /var/ /usr/[root@zls ~]# ps aux|grep [t]arroot       1348 14.7  0.0 124240  1952 pts/0    S+   13:06   0:01 tar zcf zls.tar.gz /etc/ /usr/ /var/ /usr/

案例三:PS命令查看进程Ss+状态

#过滤bash进程,再开启终端[root@zls ~]# ps aux|grep [b]ashroot       1127  0.0  0.1 115436  2084 tty1     Ss   11:49   0:00 -bashroot       1180  0.0  0.0 115436  1900 tty1     S+   11:49   0:00 bashroot       1198  0.0  0.1 115564  2152 pts/0    Ss   11:50   0:00 -bashroot       1324  0.0  0.1 115440  2064 pts/1    Ss+  13:01   0:00 -bash

了解进程如下选项:

PID,PPID当前的进程状态内存的分配情况CPU 和已花费的时间用户UID决定进程的特权

ps命令使用方法

#对进程的CPU进行排序展示[root@zls ~]# ps aux --sort %cpu |less#对进程的占用物理内存排序[root@zls ~]# ps aux --sort rss |less#排序,实在记不住,那就自己排序[root@zls ~]# ps aux|sort -k3 -n#自定义显示字段,指定想看的列[root@zls ~]# ps axo user,pid,ppid,%mem,command |grep sshdroot        869      1  0.2 /usr/sbin/sshd -Droot       1194    869  0.2 sshd: root@pts/0root       1307    869  0.2 sshd: root@pts/1root       1574    869  0.2 sshd: root@pts/2#显示进程的子进程[root@zls ~]# yum install nginx -y[root@zls ~]# systemctl start nginx[root@zls ~]# ps auxf|grep [n]ginxroot       2033  0.0  0.1 125096  2112 ?        Ss   13:29   0:00 nginx: master process /usr/sbin/nginxnginx      2034  0.0  0.1 125484  3148 ?        S    13:29   0:00  _ nginx: worker process#默认不加选项是查看指定进程PID[root@zls ~]# ps aux|grep sshdroot       1157  0.0  0.1 105996  3604 ?        Ss   Feb27   0:00 /usr/sbin/sshd -D[root@zls ~]# cat /run/sshd.pid1157#pgrep常用参数, -l -a[root@zls ~]# pgrep sshd869119413071574[root@zls ~]# pgrep -l sshd869 sshd1194 sshd1307 sshd1574 sshd[root@zls ~]# pgrep -l -a sshd869 /usr/sbin/sshd -D1194 sshd: root@pts/01307 sshd: root@pts/115
  • 5
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值