进程管理

1.进程管理

(1)进程有以下组成成分:

·已分配内存的地址空间

·安全属性,包括所有权凭据和特权

·程序代码的一个或多个执行线程

·进程状态

程序:二进制文件,静态。例如/usr/bin/passwd,/usr/bin/cat

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

生命周期:

父进程复制自己的地址空间(fork)创建一个新的(子)进程结构。

每个新进程分配一个,唯一的进程ID(PID),满足跟踪安全性之需。

任何进程都可以创建子进程。

所有进程都是第一个系统进程的后代。

Centos5/6系统进程:init     Centos7系统进程:systemd

进程状态:

R(running)  运行状态

T(stopped)停止状态

S(sleeping)睡眠状态

Z(zombies)僵尸状态

(2)静态查看进程ps

静态查看进程ps aux          

//静态查看进程ps
ps aux  
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
//每个字段含义
USER       运行进程的用户
PID        进程ID
%CPU       CPU占用率
%MEN       内存占用率
VSZ        占用虚拟内存
RSS        占用实际内存
TTY        进程运行终端
STAT       进程状态man ps(/STATE)
START      进程的启动时间
TIME       进程占用CPU的总时间
COMMAND    进程文件,进程名
//命令参数说明
ps a 显示现行终端机下的所有程序
ps u 以用户为主的格式来显示程序状况
ps x 不以终端机来区分
//进程排序
ps aux --sort 字段名
以CPU占比排列
ps aux --sort %cpu    正序
ps aux --sort -%cpu   降序
//进程的父子关系
ps -ef
查看进程的父子关系,观察PID和PPID
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 02:17 ?        00:00:08 /usr/lib/systemd/systemd --switched-r
root          2      0  0 02:17 ?        00:00:00 [kthreadd]
root          3      2  0 02:17 ?        00:00:01 [ksoftirqd/0]
root          5      2  0 02:17 ?        00:00:00 [kworker/0:0H]
//自定义显示字段
ps axo 字段名
[root@localhost ~]# ps axo user,pid,command
USER        PID COMMAND
root          1 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root          2 [kthreadd]
root          3 [ksoftirqd/0]
root          5 [kworker/0:0H]

动态查看进程top

//上半部分
top - 11:04:02 up  8:46,  3 users,  load average: 0.06, 0.03, 0.05
Tasks: 202 total,   2 running, 200 sleeping,   0 stopped,   0 zombie
%Cpu(s): 16.7 us,  5.4 sy,  0.0 ni, 77.6 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st
KiB Mem :   995896 total,    67132 free,   663400 used,   265364 buff/cache
KiB Swap:  2097148 total,  2009852 free,    87296 used.    91204 avail Mem 
第一行:top - 11:04:02 up  8:46,  3 users,  load average: 0.06, 0.03, 0.05
        程序名 系统时间  运行时间 登录用户数   CPU负载  五分钟 十分钟 十五分钟
第二行:Tasks: 202 total,   2 running, 200 sleeping,   0 stopped,   0 zombie
        总进程数            运行数     睡眠数          停止数       僵尸数
第三行:%Cpu(s): 16.7 us,  5.4 sy,  0.0 ni, 77.6 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st
        CPU使用占比 us用户 sy系统   ni优先级 id空闲   wa等待   hi硬件   si软件   st虚拟机
第四行:KiB Mem :   995896 total,    67132 free,   663400 used,   265364 buff/cache
        物理内存K   total总共        free空闲      userd使用      cache缓存硬盘内容
第五行:KiB Swap:  2097148 total,  2009852 free,    87296 used.    91204 avail Mem
        交换区  total总共  free空闲  userd使用  可用于下一次分配的物理内存数量
//下半部分
PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND 
进程ID 运行进程用户 系统优先级 nice值 进程使用的虚拟内存总量 进程使用的、未被换出的物理内存大小 共享内存大小 进程状态 占用CPU资源百分比 占用物理内存百分比 进程使用的CPU时间总计 该进程实际指令
//top常用内部指令
h|?帮助
M 按内存的使用排序
P 按CPU使用排序
N 以PID的大小排序
< 向前
> 向后
z 彩色,Z设置彩色,使用数字调整
//top技巧
动态查看进程top,像windows的任务管理器
top       //回车,立即刷新。按z彩色显示,按F,通过光标设置字段显示
top -d 1  //每一秒刷新
top -p    //查看指定进程的动态信息,若想查看多个进程信息,用逗号隔开

使用信号控制进程

//信号种类
kill -l //列出所有支持的信号
编号         信号名
1) SIGHUP    重新加载配置	 
2) SIGINT	 键盘中断Ctrl+C
3) SIGQUIT   键盘退出Ctrl+\,类似SIGINT
9) SIGKILL   强制终止,无条件
15) SIGTERM  终止(正常结束),缺省信号
18) SIGCONT	 继续
19) SIGSTOP  暂停
20) SIGTSTP  键盘暂停Ctrl+z

进程优先级nice

//简介
  Linux进程调度及多任务
  每个CPU在一个时间点上只能处理一个进程,通过时间片技术,来同时运行多个程序
//优先级范围和特性
  系统的两种优先级:
      在top中显示的优先级有两个,PR值和nice值
      NI:实际nice值
      PR(+20):将nice级别显示为映射到更大优先级队列,-20映射到0,+19映射到39
  优先级特性:
      nice值越大:表示优先级越低,例如+19             
      nice值越小:表示优先级越高,例如-20
//查看进程的nice级别
  ps axo pid,command,nice --sort=-nice
//更改现有进程的nice级别
  rencie 值 PID

2.作业控制jobs

//简介:作业控制是一个命令行功能,也叫后台运行
//关键词介绍:
      foreground:前台进程:是在终端运行的命令,占领终端
      background:后台进程:没有控制终端,它不需要终端的交互。看不见,但是在运行
//jobs查看后台进程
  jobs
//调动后台程序至前台
  fg 作业编号
//消灭后台进程
  kill %作业编号   (一定不要忘记%号)
//总结
  &       后台运行程序
  jobs    查询后台
  kill %1 停止后台进程

3.虚拟文件系统proc

//简介
  虚拟文件系统:采集服务器自身 内核、进程运行的状态信息
//CPU
  /proc/cpuinfo
//内存
  /proc/meninfo
//内核
  /proc/cmdline

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值