系统进程管理

process和program 进程与程序

程序:通常为二进制程序仿制在存储媒介中,以物理文件的形式存在。

进程:程序被触发后,执行者的权限与属性、程序的程序代码和所需数据等会被加载到内存中,操作系统并给予这个内存内的单元一个标识符PID,也就是说,进程就是一个正在运行的程序。

job control 工作管理

前台foreground fg

后台 bg

暂停 ctrl+z

直接将命令丢到后台执行的 &

比如解压一个相当大的压缩包:

tar -zpcvf /tmp/etc.tar.gz /etc &

tar -zpcvf /tmp/etc.tar.gz /etc > /tmp/log.txt 2>&1 &

查看后台工作状态 jobs

调用的时候:fg jobnumber

kill 杀死进程

-9 强制杀掉进程

-15 默认正常杀掉

进程的查看 ps top

ps是静态查看进程 top是动态查看

ps

-A 所有进程都显示出来 和-e一样

-a 不与terminal有关的所有进程

-u 有效的用户

x 通常与a一起使用 列出较完整的信息

l 较长 详细的将该PID信息列出

j 工作格式

-f 完整的输出

查看自己的bash相关进程 ps -l

F 代表这个进程的标志权限

一般4 代表root权限 如果是1 表示次子进程仅仅可以复制fork而无法实际执行

S 代表进程的状态

R running  该进程正在运行

S sleep 该进程正在休眠 可以被唤醒

D 不可被唤醒的睡眠状态  可能正在等待IO

T 停止状态 可能是工作控制或者除错状态

Z zombie 僵尸进程 进程已经终止 却无法被删除内存外

UID/PID/PPID 此进程被该uid所拥有 进程号PID 以及父进程PPID

C 代表cpu使用率 单位百分比

PRI/NI 此进程被cpu处理的优先级 越小 越快被执行

ADDR/SZ/WCHAN ADDR该进程在内存的哪个部分 如果是running一般就是-  SZ代表此进程用掉多少内存  WCHAN表示该进程是否在运行中

TTY 登录者的终端机位置 若为远程登录则使用动态终端借口 pts/n

TIME 使用掉的cpu时间 注意 是此进程实际花费cpu运行的时间

CMD 此程序触发的命令

查看所有的进程 ps aux

USER 该进程属于那个用户帐号

PID 该进程的进程标识符

%CPU 该进程使用掉的cpu资源百分比

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

VSZ 该进程用掉的虚拟内存KB

RSS 该进程用掉的固定内存KB

TTY 登录者的终端机位置 若为远程登录则使用动态终端借口 pts/n

STAT 该进程目前的状态 一般为R/S/T/Z

TIME 该进程实际使用CPU运行的时间

COMMAND  该进程的实际命令

top 动态查看进程变化

top -d +数字

-d 后边加秒数 进程界面更新的秒数 默认是5秒

-b 以批次的方式执行top 通常会搭配数据流重定向来将批处理的结果输出文件

-n  与-b搭配 需要进行几次的top输出结果

-p 指定某个PID 来进行查看

在top执行的过程中 可以使用按键命令:

?:显示在top中可以输入的按键命令

P:以cpu的使用率来排序显示

M:以内存的使用资源来显示

N: 以PID来排序

T: 以cpu时间累计排序 time+

k: 给予某个pid一个信号

r: 给予某个pid 重新制定一个nice值

q: 离开top

pstree

-A 各进程树之间的连接以ASCII字符

-U 各进程树之间的连接以utf-8字符

-p 同时列出每个进程的pid

-u 同时列出每个进程的所属帐号名称

进程管理kill 和 killall

kill -signal pid

killall -signal 命令名称

-i 若需要删除时会出现提示符给用户

-e exact 表示后边接的command name 要一直

-I 忽略大小写

例子:

killall -l syslogd

killall -9 httpd 终止httpd

killall -i -9 bash

kill bash ? (y/n) 用户可以选择

priority和nice

pri值越低代表越有限 但是pri值是由内核动态调整 用户无法直接调整

pri(new)=pri(old) +nice

nice -n 数字 command

nice -n -5 vi &

用户给一个nice值为-5用于执行vi 并查看该进程

系统资源的查看

free 查看内存使用情况

free -b/-k/-m /-g /-t

bkmg 输入时显示的单位

-t 在输出最终结果显示物理内存和swap的总量

uname [-asrmpi]

-a 所有系统相关的信息 包括下边的所有数据

-s 系统内核名称

-r 系统内核版本

-m 本系统的硬件名称

-p cpu的类型 与-m 类似 只是显示cpu的类型

-i 硬件的平台

netstat 跟踪网络 [-tunlpa]

-a 将目前系统的所有连接 监听socket列出

-t 列出tcp的网络数据包

-u 列出udp网络数据包数据

-n 不列出进程服务名称 以端口号来显示

-l 列出目前正在网络监听的服务

-p 列出该网络服务的进程pid

proto 网络的数据包协议 主要分为tcp和udp

recv-Q 非由用户进程连接到此socket的复制总字节数

send-Q 非由远程主机传送过来的acknowledged总字节数

localaddress 本地ip端口情况

state 连接状态 主要有建立establised和监听listen

proto 一般就是unix

refcnt 连接到此socket的进程数量

flags 连接的标识

type socket 访问类型 主要有确认连接的stream与不需要确认的dgram

state 若为connected 表示多个进程之间已经建立连接

path 连接到此的socket相关程序的路径

分析内核产生的信息 dmesg

dmesg more

dmesg | grep -i hd

检测系统支援变化 vmstat

vmstat -a cpu 内存等信息

-fs 内存相关

-S 显示单位

-d 与磁盘有关

-p 分区 与磁盘有关

参数:

-a 使用inactive/active 替代buffer/cache 的内存输出信息

-f 开机到目前位置系统复制的进程数 fork

-s 将一些时间导致内存变化的情况列出说明

-S 后边接单位 如K/M

-d 列出磁盘的读写总量统计表

-p 列出分区 可显示该分区的读写总量

例如:统计目前主机cpu状态 每秒1次 共3次

vmstat 1 3

系统进程管理

时间: 2024-10-13 21:31:09

系统进程管理的相关文章

Linux系统进程管理工具

对于Linxu系统运维工程师来说好的系统进程管理工具,就像一把利器,无坚不摧,可以使用这些工具发现造成性能问题可能原因,提升团队的工作效率,本篇知识提及一些简单常用系统管理工具包括了pstree.ps.pgrep.top.htop.pidof.vmstat.glances.dstat的简单实用例子及常用选项,希望能帮助一些热爱Linux的朋友们. pstree:用来显示进程数的 pstree命令的用法格式 [[email protected] ~]# pstree init─┬─NetworkM

1.1.2系统进程管理方法

#!/use/bin/python # -*- coution: utf-8 -*- #psutil 是一个跨平台库 能轻松实现获取系统运行的进程和利用率 import psutil #1.1.2 系统进程管理方法 ''' 获取系统进程信息,得知应用程序的运行状态 *进程启动时间 *cpu亲和度 *内存使用率 *IO信息 *socket连接 *线程数 ''' #(1)进程信息 #列出所有进程PID print(psutil.pids()) #实例化一个process对象,参数为进程PID p =

linux系统进程管理之htop工具的使用

在linux上关于系统进程管理方面的程序有很多例如:ps.pstree.pidof.pgrep等众多工具,但是他们都只是捕获当前管理员输入命令并敲回车的前一秒的进程状态信息并且还不会高亮显示,就这样htop出现了. htop为top的增强版,增加了高亮显示进程信息.虽然top可以动态获取并将进程信息返回给终端但是由于所有进程状态的颜色都是一模一样的不便观察,推荐使用htop.glances.dstat等管理工具,如果自己可以写一个专用的那就另当别论. 接下来介绍一下htop工具的使用(glanc

Linux下的文件压缩归档与系统进程管理

Linux下的文件压缩归档与系统进程管理   一:实验环境 1):在虚拟机下配置好linux系统 2):了解文件压缩归档的含义 二:实验目标 1):理解并会用文件的压缩归档 2):熟练掌握文件压缩归档的命令 3):理解各种压缩形式的使用环境 4):理解个文件的压缩区别 三:实验步骤 一:压缩的常用形式及命令 1):常用形式 grub.tar grub.tar.bz2 grub.tar.gz grub.tar.zip 2):压缩命令分析 [[email protected] test]#tar -

Python学习之路——Linux基础之系统进程管理

系统进程管理 进程:进程是程序的一次动态执行 守护进程:守护进程是在后台运行并提供系统服务的一些进程 top : 动态显示当前进程 标签 含义 PID 进程号 PR.NI 控制用户优先级,值越高,优先级越低 VIRT 虚拟内存 S 状态( S:Sleep R:Running) free : 查看内存信息 标签 含义 used 已经分配出去的buffer和cache buffers 已分配的buffer还未使用的 cached 已分配的cache还未使用的 ps aux : 查看所有进程及相关信息

linux系统进程管理

一.进程的概述 1.进程的概述 (1)进程:运行中的程序的一个副本,是被载入内存的一个指令集合:通常通过进程ID(Process ID,PID)号来标记各个进程 (2)特点:通常从执行进程的用户来继承.进程存在生命周期 (3)task struct:Linux内核存储进程信息的数据结构格式 (4)task list:多个任务的的task struct组成的链表 (5)进程的创建: 1)第一个进程,centos6上为init,centos7上为systemd 2)进程的创建:都有其父进程创建 (6

系统进程管理及用户登陆监控

1.图形中如何查看进程gnome-system-monitor2.如何用命令查看进程ps        进程查看工具             -a    shell中运行的进程             -x    不在shell重运行的进程         -u    查看进程用户             -l    显示进程的详细信息             -f    完全信息full的缩写             -e    显示进程的依赖关系                  -o %c

1-10 RHLE7 系统进程管理

1.1-Linux进程管理 程序.进程.线程 程序:一组指令的集合    QQ 进程:程序的执行就是进程.也可以把进程看成一个独立的程序,在内存中有其对应的代码空间和数据空间,一个进程所拥有的数据和代码只属于自己.进程是资源分配的基本单位,也是调度运行的基本单位. 线程:线程被人们认为是轻量级的进程,它是进程中单独运行的程序.换句话说,就是一个进程可以包含多个线程,并且至少有一个主线程,同时同一进程的线程共享该进程的代码和数据. 程序和进程的区别1.程序是静态的,它只是一组指令的集合,不具有任何

centos7 系统进程管理

学习目标: 通过本实验掌握centos7/rhel7进程的查看及管理,以及如何禁止占用cpu过多的进程. 操作步骤: 1. 打开Firefox浏览器,如果可访问互联网,打开一个较大的网站(如新浪)2. 查看系统进程,此时Firefox占用cpu资源最多,终止Firefox进程. 参考命令: 1. 通过top查看占用cpu高的进程[[email protected] instructors]# ps aux 2. 关掉火狐浏览器进程[[email protected] instructors]#