linux下ps命令讲解,linux中ps命令的作用

Linux下 netstat ps kill 命令详解及常用命令收集

前言,phper 脱离 fpm 学习 swoole GO 时 经常会用一些进程管理命令 这里熟悉下

创新互联建站是专业的定襄网站建设公司,定襄接单;提供成都网站制作、做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行定襄网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

netstat 命令

Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。

常见参数

-a (all) 显示所有选项,默认不显示 LISTEN 相关

-t (tcp) 仅显示 tcp 相关选项

-u (udp) 仅显示 udp 相关选项

-n 拒绝显示别名,能显示数字的全部转化成数字。

-l 仅列出有在 Listen (监听) 的服务状态

-p 显示建立相关链接的程序名

-r 显示路由信息,路由表

-e 显示扩展信息,例如 uid 等

-s 按各个协议进行统计

-c 每隔一个固定时间,执行该 netstat 命令。

提示:LISTEN 和 LISTENING 的状态只有用 - a 或者 - l 才能看到

常见命令

列出所有端口 (包括监听和未监听的)

netstat -a #列出所有端口

netstat -at #列出所有的tcp 端口

netstat -au #列出所有的udp 端口

列出所有处于监听状态的 Sockets

netstat -l #只显示在监听的端口

netstat -lt #只显示所有的在监听的tcp 端口

netstat -lu #只显示所有的在监听的udp 端口

netstat -lx #只显示所有的在监听的unix 端口

在 netstat 输出中显示 PID 和进程名称 netstat -p

netstat -pt #显示所有tcp端口的PID 和进程名称

查找 (经常使用)

netstat -ap | grep xxx #查找程序名为xxx的运行端口

netstat -an | grep ':80' #找出运行在指定端口的进程

PS 命令

PS 是 LINUX 下最常用的也是非常强大的进程查看命令

常用命令

ps -ef | grep 进程关键字 #查找某一进程

参数解释

UID :程序被该 UID 所拥有

PID :就是这个程序的 ID

PPID :则是其上级父程序的ID

C :CPU使用的资源百分比

STIME :系统启动时间

TTY :登入者的终端机位置

TIME :使用掉的CPU时间

CMD :所下达的是什么指令

ps -ax | less # 按向下键查看进程 q 键退出

pstree 树形显示所有进程 pstree -p 9005 树形显示某个端口进程

ps -eo pid,user,args 参数 -e 显示所有进程信息,-o 参数控制输出。Pid,User 和 Args 参数显示 PID,运行应用的用户和该应用。可以查看现在有谁登入了你的服务器

kill 命令

kill -9 PID 可以彻底杀死进程

kill -9 $(ps -ef | grep xxx) 杀死 查找到的所有进程 有点危险!

常用参数

HUP 1 终端断线

INT 2 中断(同 Ctrl + C)

QUIT 3 退出(同 Ctrl + )

TERM 15 终止

KILL 9 强制终止

CONT 18 继续(与STOP相反, fg/bg命令)

STOP 19 暂停(同 Ctrl + Z)

Linux ps命令详解

ps -elf |grep cp(与进程有关的字符串)

whereis cp

cp: /bin/cp /usr/share/man/man1p/cp.1p.gz /usr/share/man/man1/cp.1.gz可以找到进程名的所有路径。

linux的ps命令

Linux中的ps命令是Process Status的缩写,顾名思义,就是查看进程状态。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。

要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令得到的。

ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用 top 工具。

ps工具标识进程的5种状态码:

D 不可中断 uninterruptible sleep (usually IO)

R 运行 runnable (on run queue)

S 中断 sleeping

T 停止 traced or stopped

Z 僵死 a defunct (”zombie”) process

1.命令格式:

ps [参数]

2.命令功能:

用来显示当前进程的状态。

3.命令参数:

a 显示所有进程

-a 显示同一终端下的所有程序

-A 显示所有进程

c 显示进程的真实名称

-N 反向选择

-e 等于“-A”

e 显示环境变量

f 显示程序间的关系

-H 显示树状结构

r 显示当前终端的进程

T 显示当前终端的所有程序

u 指定用户的所有进程

-au 显示较详细的资讯

-aux 显示所有包含其他使用者的行程

-C命令 列出指定命令的状况

--lines行数 每页显示的行数

--width字符数 每页显示的字符数

--help 显示帮助信息

--version 显示版本显示

Linux进程详解

ps是Linux 中最基础的浏览系统中的进程的命令。能列出系统中运行的进程,包括进程号、命令、CPU使用量、内存使用量等。接下来解读一下Linux操作系统的进程和Windows「Ctrl+Alt+delete」直接的差异。

在进行了解进程命令之前需要知道进程的一些状态

ps工具标识进程的5种状态码:

Linux操作系统进程执行的状态转换图如图所示:

下面来看一下 ps命令

ps --help命令可以查看ps命令的使用说明

或者使用 man ps命令 查询ps的详细说明

在 man手册 关于ps的解读中,总结了一下几个参数的含义:

以上的参数是可以拼接使用的,那就了解一些常用的参数组合

ps aux命令

ps -ef命令

查看进程状态这两个是命令是最常用的,使用 ps aux 可以查看进程的详细运行状态等。使用 ps -ef 不仅可以显示自身的PID,也可以显示PPID(父进程)。但是显示不了进程的运行状态

top命令

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器

man手册关于top的解释

关闭进程,重启进程

在上一片文章中 linux的目录结构 里面说过,在目录/etc/init.d/目录下包含许多系统各种服务的启动和停止脚本。假设进程占用内存较大或者进程异常,我们是重启这个进程restart。如下图所示:

我们重启了mysqld这个进程,可以看出进程号已经改变(从15743到15964),说明进程已经重启。

Linux下有3个特殊的进程,idle进程(PID=0), init进程(PID=1)和kthreadd(PID=2)

我们来看一下进程状态[下面是删减版,进程数量太多,列举一部分]

可以看到很多进程的PPID号是1和2。也就是init进程和kthreadd进程。

在使用Windows系统的过程中,都碰到过应用程序卡死的情况。应对此问题,我们一般都是等待失去响应的程序恢复,或者是直接使用任务管理器将其强制关闭,然后再重新打开。

在Linux中,遇到特别耗费资源的进程,当然需要使用 top命令 查看进程占用率高的进程。或者使用 free -m命令 查看内存剩余。假设需要强杀进程来释放空间。我们涉及到Linux中信号????的知识,在这里简单的描述一下,信号的详解会在接下来的文章里面叙述。

free -m命令查看内存空间

在linux中存在着64种信号

使用 kill -l命令 查看信号列表

在前面说过进程会被这些个信号 (进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号强制停止运行) 那问题就在于如何发信号给这些个进程。

使用kill命令发信号

我们从上面可以看到 mysqld进程被重启了 。

关于Linux的这一块进程的知识还有很多,后面的文章跟大家分享僵尸进程,孤儿进程等等知识,以及守护进程(daemon进程).


名称栏目:linux下ps命令讲解,linux中ps命令的作用
浏览路径:http://pwwzsj.com/article/dscpgsg.html