[命令] Linux 命令 ps (显示进程) (转载)

ps 命令的使用

Ps命令是Linux中最常使用的进程查看工具,主要用于显示包含当前运行的各进程完整信息的静态快照(查看静态的进程统计信息)。通过不同的命令选项可以有选择性的查看进程信息。

a:显示当前终端下的所有进行信息,包括其他用户的进程。与x选项结合时将显示系统中所有的进程信息。

u:使用以用户为主的格式输出进程信息。

x:显示当前用户在所有终端下的进程信息。

-e:显示系统内的所有进程信息。

-l:使用长格式显示进程信息。

-f:使用完整的格式显示进程信息。
# ps aux

解释:

USER:启动该进程的用户账号名称

PID:该进程在系统中的数字ID号,在当前系统中是唯一的。

TTY:表明该进程在哪个终端上运行。“?”表示未知或者不需要终端。

STAT:显示了进程当前的状态,如S(休眠)、R(运行)、Z(僵死)、<(高优先级)、N(低优先级)、s(父进程)、+(前台进程)。对于僵死的进程,应该手动处理掉。(问:为什么?)

START:启动该进程的时间

TIME:该进程占用CPU的时间

COMMAND:启用该进程的命令名称

%CPU:CPU占用百分比

%MEM:内存占用百分比

VSZ:占用虚拟内存(swap空间)大小

RSS:占用常驻空间(物理内存)的大小
————————————————
版权声明:本文为CSDN博主「秃头阿鑫」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_47763101/java/article/details/106391154

注明:所有转载内容皆直接从被转载文章网页的标题和内容的文本和图片中复制而来

CC 4.0 BY-SA 版权协议网址:https://creativecommons.org/licenses/by-sa/4.0/deed.z
站主补充:
补充一:D 状态的进程
D 状态的进程代表处于不可以被杀死的休眠状态。D 状态的进程就算是用 kill -9 命令也无法杀死

补充二:将 ps 的输出工整
# ps -T 

[命令] Linux 命令 kill (进程杀死)

内容目录:

内容一:显示 kill 所有可用的选项

内容二:kill 的常用案例
2.1 案例一:强杀某一个 pid 号
2.2 案例二:正常退出某一个 pid 号
2.3 案例三:杀死某一个进程名称下的所有 pid 号

具体的内容:

内容一:显示 kill 所有可用的选项

内容二:kill 的常用案例
2.1 案例一:强杀某一个 pid 号

# kill -9 <pid number>

或者:

# kill -<kill option> <pid number>

2.2 案例二:正常退出某一个 pid 号

# kill -15 <pid number>

2.3 案例三:杀死某一个进程名称下的所有 pid 号

# killall <process name>

[内容] Linux 后台进程的管理

内容目录:

内容一:将进程放入后台
1.1 直接将一个进程放到后台
1.2 将一个目前正在前台运行的进程放到后台

内容二:显示放入后台的进程
2.1 显示所有放入后台的进程
2.2 显示某一个放入后台的进程

内容三:管理放入后台的进程
3.1 在后台启动放入后台的进程
3.1.1 在后台启动放入后台的进程(通过后台进程号)
3.1.2 在后台启动放入后台的进程(通过后台进程名)
3.2 在前台启动放入后台的进程
3.2.1 在前台启动放入后台的进程(通过后台进程号)
3.2.2 在前台启动放入后台的进程(通过后台进程名)
3.3 杀死放入后台的进程
3.3.1 杀死放入后台的进程(通过后台进程号)
3.3.2 杀死放入后台的进程(通过后台进程名)

具体的内容:

内容一:将进程放入后台
1.1 直接将一个进程放到后台

# firefox&

1.2 将一个目前正在前台运行的进程放到后台

按下 “ctrl” 键和 “z” 键

内容二:显示放入后台的进程
2.1 显示所有放入后台的进程

# jobs

2.2 显示某一个放入后台的进程
2.2.1 显示某一个放入后台进程(通过后台进程号)

# jobs %<background process number>

2.2.2 显示某一个放入后台进程(通过后台进程名)

# jobs %<background process name>

(注意:只有后台进程名唯一时此操作才有效)

内容三:管理放入后台的进程
3.1 在后台启动放入后台的进程
3.1.1 在后台启动放入后台的进程(通过后台进程号)

# bg %<background process number>

(注意:只有可以在后台启动的进程才能在后台启动)

3.1.2 在后台启动放入后台的进程(通过后台进程名)

# bg %<background process name>

(注意:只有可以在后台启动的进程才能在后台启动,且只有后台进程名唯一时此操作才有效)

3.2 在前台启动放入后台的进程
3.2.1 在前台启动放入后台的进程(通过后台进程号)

# fg %<background process number>

3.2.2 在前台启动放入后台的进程(通过后台进程名)

# fg %<background process name>

(注意:只有后台进程名唯一时此操作才有效)

3.3 杀死放入后台的进程
3.3.1 杀死放入后台的进程(通过后台进程号)

# kill %<background process number>

(补充:这里可以配合各种 kill 选项进行操作,例如 kill -9)

3.3.2 杀死放入后台的进程(通过后台进程名)

# kill %<background process name>

(注意:只有后台进程名唯一时此操作才有效)

(补充:这里可以配合各种 kill 选项进行操作,例如 kill -9)

[命令] Linux 命令 iotop (显示某一个进程占用 IO 的情况) (转载)

记一次iotop分析磁盘占用io问题

问题描述    

                 某一台服务器上面 程序在每小时内偶尔丢包 排查服务器所有性能瓶颈之后发现一个奇怪的问题 程序丢包前后 会有IO过高的情况 于是使用iotop命令排查是哪个程序偶尔占用过高的磁盘IO

所用命令  

                 iotop

相关参数 

    -o:只显示有io操作的进程

    -b:批量显示,无交互,主要用作记录到文件

    -n NUM:显示NUM次,主要用于非交互式模式

    -d SEC:间隔SEC秒显示一次

    -p PID:监控的进程pid

    -u USER:监控的进程用户

排查方法

        iostat命令 只能看出每个盘符的IO情况 不能看到是具体哪个进程使用的IO 所以 我们需要使用iotop命令 但是这次的IO情况并不是一直出现 而是偶尔不规律出现 如果用肉眼去一直盯着终端看 显然不可行 于是我们可以用iotop的-b参数 让结果以非交互的方式输出 这样我们便可以用awk去处理 打印出我们需要的IO列以及相应的进程

命令

iotop -b | awk -F'%' '{if($(NF-1) > 0.2 && $(NF-1) ~ /[0-9]/ && $0 !~ /DISK/)printf "TIME: %s,IO:%s%,COMMAND:%s\n",strftime("%F %T"),$(NF-1),$NF}'

输出结果

[root@localhost ~]# iotop -b | awk -F'%' '{if($(NF-1) > 0.2 && $(NF-1) ~ /[0-9]/ && $0 !~ /DISK/)printf "TIME: %s,IO:%s%,COMMAND:%s\n",strftime("%F %T"),$(NF-1),$NF}'
TIME: 2018-03-21 18:04:23,IO:  0.23 %,COMMAND: [kworker/0:2]
TIME: 2018-03-21 18:04:35,IO:  0.44 %,COMMAND: [kworker/0:2]
TIME: 2018-03-21 18:04:47,IO:  0.22 %,COMMAND: [kworker/0:2]
TIME: 2018-03-21 18:04:58,IO:  0.39 %,COMMAND: [kworker/0:2]
TIME: 2018-03-21 18:05:08,IO:  0.68 %,COMMAND: [kworker/0:2]
TIME: 2018-03-21 18:05:22,IO:  0.52 %,COMMAND: [kworker/0:2]
TIME: 2018-03-21 18:05:34,IO:  0.24 %,COMMAND: [kworker/0:2]
TIME: 2018-03-21 18:05:45,IO:  0.26 %,COMMAND: [kworker/0:2]

        输出结果类似上面 这里只是简单举个例子 打印出IO大于0.2%的进程 并根据客户需求打印除相应的时间 这里的时间打印 利用awk自己的函数 strftime()
————————————————
版权声明:本文为CSDN博主「why_me310」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/why_me310/article/details/79643352

注明:所有转载内容皆直接从被转载文章网页的标题和内容的文本中复制而来

CC 4.0 BY-SA 版权协议网址:https://creativecommons.org/licenses/by-sa/4.0/deed.z
站主补充:
 iotop 还有以下参数
-k, --kilobytes 在非交互的模式下,以 kb 为单位显示
-t, --time 在非交互的模式下,加上时间戳
-q, --quiet 在交互的模式下,禁止头几行,它有三种指定方式
    -q 只有在第一次显示时显示列名
    -qq 永远不显示列名
    -qqq 永远不显示 I/O 汇总的总量