linux 进程的fg,Linux 进程管理命令ps、top、kill、nice、fg、bg、vmstat、uptime

Linux 进程管理命令:

ps

process status 查看进行相关信息:

system 风格:sysv  有-线引导

BSD风格:BSD

ps

a:显示所有跟终端有关的进程

u:显示更详细的字段

x:显示所有跟终端无关的进程

常用 ps ax

进程分类:

终端启动(相关)的进程:用户通过命令行启动的进程

跟终端无关的进程:系统启动就自己启动

进程状态:

D: 表示不可中断的睡眠

R:表示就绪态

S:表示可中断的睡眠

T:停止

Z:僵死态

<:>

N:低优先级进程

+:前台进程

l:多线程进程

s:这是一个会话进程的首进程

ps  aux----------------BSD风格[root@john ~]# ps aux | head

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

root         1  0.0  0.1   2900  1432 ?        Ss   Jan18   0:03 /sbin/init

root         2  0.0  0.0      0     0 ?        S    Jan18   0:00 [kthreadd]

root         3  0.0  0.0      0     0 ?        S    Jan18   0:00 [migration/0]

root         4  0.0  0.0      0     0 ?        S    Jan18   0:00 [ksoftirqd/0]

root         5  0.0  0.0      0     0 ?        S    Jan18   0:00 [migration/0]

root         6  0.0  0.0      0     0 ?        S    Jan18   0:03 [watchdog/0]

root         7  0.0  0.0      0     0 ?        S    Jan18   0:04 [events/0]

root         8  0.0  0.0      0     0 ?        S    Jan18   0:00 [cgroup]

root         9  0.0  0.0      0     0 ?        S    Jan18   0:00 [khelper]

%cpu----CPU使用率

%MEM----内存使用率

VSZ-------虚拟内存

RSS----常驻内存

TTY-----终端类型

STAT-----进程转态

注意:COMMADN---下加了中括号的进程表示内核的进程

sys v 风格:

ps:

-e  显示所有进程

-F | f 显示全面的信息

-l   显示长格式[root@john ~]# ps -e | head

PID TTY          TIME CMD

1 ?        00:00:03 init

2 ?        00:00:00 kthreadd

3 ?        00:00:00 migration/0

4 ?        00:00:00 ksoftirqd/0

5 ?        00:00:00 migration/0

6 ?        00:00:03 watchdog/0

7 ?        00:00:04 events/0

8 ?        00:00:00 cgroup

9 ?        00:00:00 khelper[root@john ~]# ps -el | head

F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD

4 S     0     1     0  0  80   0 -   725 -      ?        00:00:03 init

1 S     0     2     0  0  80   0 -     0 -      ?        00:00:00 kthreadd

1 S     0     3     2  0 -40   - -     0 -      ?        00:00:00 migration/0

1 S     0     4     2  0  80   0 -     0 -      ?        00:00:00 ksoftirqd/0

1 S     0     5     2  0 -40   - -     0 -      ?        00:00:00 migration/0

5 S     0     6     2  0 -40   - -     0 -      ?        00:00:03 watchdog/0

1 S     0     7     2  0  80   0 -     0 -      ?        00:00:04 events/0

1 S     0     8     2  0  80   0 -     0 -      ?        00:00:00 cgroup

1 S     0     9     2  0  80   0 -     0 -      ?        00:00:00 khelper

[root@john ~]#

常用:

PRI----优先级  (0-139,其中0-100为内核进程优先级,101-139为用户进程优先级)

NI----nice值

ps -ef

-eF

F S UID        PID  PPID  C PRI  NI ADDR SZ WCHAN    RSS PSR STIME TTY          TIME CMD

4 S root         1     0  0  80   0 -   725 -       1432   0 Jan18 ?        00:00:03 /sbin/init

1 S root         2     0  0  80   0 -     0 -          0   0 Jan18 ?        00:00:00 [kthreadd]

1 S root         3     2  0 -40   - -     0 -          0   0 Jan18 ?        00:00:00 [migration/0]

1 S root         4     2  0  80   0 -     0 -          0   0 Jan18 ?        00:00:00 [ksoftirqd/0]

1 S root         5     2  0 -40   - -     0 -          0   0 Jan18 ?        00:00:00 [migration/0]

5 S root         6     2  0 -40   - -     0 -          0   0 Jan18 ?        00:00:03 [watchdog/0]

1 S root         7     2  0  80   0 -     0 -          0   0 Jan18 ?        00:00:05 [events/0]

1 S root         8     2  0  80   0 -     0 -          0   0 Jan18 ?        00:00:00 [cgroup]

1 S root         9     2  0  80   0 -     0 -          0   0 Jan18 ?        00:00:00 [khelper]

PSR---正在运行在哪个CPU上

手动指定显示那些字段:

-o

eg:ps -o pid,

ps -axo pid,comm  显示所有进程的pid和comm

eg:查找grep命令:查找某个命令可以用grep命令

ps aux | grep "grep"

其他命令:

pstree -----显示进程树

pgrep------以grep风格显示要找的进程,只显示进程号

-u  以某个用户运行的进程

pidof------指定进程的名字,来找PID号

eg: pidof mysql

top:每隔5秒刷新一次:

M:根据驻留内存大小进行排序

P:根据CPU使用百分比进行排序

T:根据累计时间进行排序

l:是否显示平均负载和启动时间

t:是否显示进程和CPU状态相关信息

m:是否显示内存相关信息

c:是否显示完整命令行的

q:表示退出

k:表示杀掉某个进程

-d:修改刷新时长,单位是秒

-b:批模式显示

-n #:表示批处理模式只显示#屏

[root@john ~]# top

top - 13:30:08 up 18:09,  4 users,  load average: 0.00, 0.00, 0.00

Tasks:  91 total,   1 running,  90 sleeping,   0 stopped,   0 zombie

Cpu(s):  0.0%us,  0.3%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st

Mem:   1030532k total,   267380k used,   763152k free,    53828k buffers

Swap:  2064376k total,        0k used,  2064376k free,   126108k cached

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

329 root      20   0     0    0    0 S  0.7  0.0   0:12.41 jbd2/dm-0-8

5510 root      20   0 12780 3392 2620 S  0.3  0.3   0:01.31 sshd

5649 root      20   0  2676 1088  880 R  0.3  0.1   0:00.10 top

1 root      20   0  2900 1432 1212 S  0.0  0.1   0:03.75 init

2 root      20   0     0    0    0 S  0.0  0.0   0:00.05 kthreadd

up:后的时间表示运行时长

4 users 登录的用户

load average:平均负载 load average: 0.00(过去的1分钟之内的队列长度), 0.00(过去的5分钟之内队列长度),, 0.00(过去的15分钟之内队列长度)

Tasks:  91 total,------进程数

Cpu(s):  0.0%us,  0.3%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st

CPU(s)----表示所有CPU的平均值,按1键可以显示每个CPU的情况

0.0%us,  用户空间占据的百分比

0.3%sy  系统空间占用的百分比(内核)

0.0%ni, nice值调整的比例

99.7%id, 空闲率

0.0%wa  等待I/O完成的等待时间

VIRT  :虚拟内存集

RES :常驻内存集

SHR:共享内存

S:状态

进程间通信

IPC  (共享内存、信号、semaphore)

kill  终止一个进程的命令

kill -l 显示所有通信信号:

1 :SIGHUP--- 让一个进程不用重启动就可以重读其配置文件,并让配置信息生效

2 :SIGINT---  类似crtl+c,终止一个前台进程

9 : SIGKILL---杀死一个进程,直接强制杀死进程

15:SIGTERM------终止一个进程,可以先结束其他进程后在终止本进程。kill 默认就是15号信号

kill -1 = kill -SIGHUP

也可以简写,也就是去掉SIG,编程kill -HUP

killall 后面加进程名,杀死进程名的所有进程,killall 也可以指定信号

eg:killall httpd

调整进程的nice值:(也就是调整进程的优先级)

renice +nice值 +PID---已经启动的进程

eg:renice -3 31709

在启动时修改nice值

nice -n nice值COMM

前台:占据了命令提示符的

后台:启动之后就释放命令提示符,后续的操作在后台完成

在命令后面加上&符号,执行命令后就释放前台,转到后台操作

前台---》后台  ctrl+z 将执行的命令送到后台,但是进程停止

命令后加&,让命令在后台执行

bg:让后台的停止作业继续运行

bg 跟上作业号,作业号可以省略

jobs,查看后台的所有作业,每个作业都有一个作业号,+表示命令将默认操作的作业,-表示默认第二个操作的作业

fg:将后台的作业调回前台

kill %jobid ---杀死某个作业

vmstat

r:队列长度

b阻塞队列长度

si:有多少swap内存信息被调入

so:有多少swap内存信息被调出

vmstat 1 每隔1秒钟更新一次

vmstat 1  5 每隔1秒钟更新一次,只显示5次

uptime :  登录时间、负载、运行时长

cat /proc/meminfo----查看内存信息

cat /proc/cpuinfo---查看 CPU 信息

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值