如何按名称或PID查找一个进程?如何按端口号查找一个进程?如何查看一个进程的CPU和内存、文件句柄使用情况?如何查看CPU利用率高的TOP10进程清单?

进程介绍

进程

进程状态的字母代表

在使用命令查出进程的信息后,进程的 STAT 头代表进程的当前状态。

R(运行):进程正在运行或在运行队列中等待。

S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该 状态。

D(不可中断):进程不响应系统异步信号,即便用kill命令也不能将其中断。

Z(僵死):进程已经终止,但进程描述符依然存在, 直到父进程调用wait4()系统函数后将进程释放。

T(停止):进程收到停止信号后停止运行。

有关命令介绍

lsof

lsof - list open files

列出打开的文件

netstat

netstat - Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships

打印网络连接、路由表、接口统计信息、伪装连接和

多播会员

grep

grep, egrep, fgrep - print lines matching a pattern

打印匹配模式的字符

|

| 表示管道,上一条命令的输出,作为下一条命令参数,如 echo 'yes' | wc -l

&

& 表示任务在后台执行,如要在后台运行redis-server,则有 redis-server &

&&

&& 表示前一条命令执行成功时,才执行后一条命令 ,如 echo '1‘ && echo '2'

||

|| 表示上一条命令执行失败后,才执行下一条命令,如 cat nofile || echo "fail"

进程命令介绍

命令 ps

用标准语法查看系统上的每一个进程

ps -e
ps -ef
ps -eF
ps -ely

使用BSD语法查看系统上的每个进程

ps ax
ps axu

-a:显示所有进程(包括其他用户的进程)

-u:用户以及其他详细信息

-x:显示没有控制终端的进程

ps 命令参数介绍

-e:  Select all processes.  Identical to -A.
-a:显示所有进程(包括其他用户的进程)
-u:用户以及其他详细信息
-x:显示没有控制终端的进程

如何按名称或PID查找一个进程

#名称
ps -ef|grep tomcat
#PID
ps -ef|grep 17850

如何按端口号查找一个进程

lsof -i:3306
netstat -nlp|grep :3306
netstat:
-n: Show numerical addresses instead of trying to determine symbolic host, port or user names.
显示数字地址,而不是试图确定符号主机、端口或用户名
-p: Show the PID and name of the program to which each socket belongs
显示每个套接字所属的程序的PID和名称
-l:Show only listening sockets
只显示监听套接字
ps -ef|grep 3306

如何查看一个进程的CPU和内存、文件句柄使用情况

查看一个进程的CPU和内存

top -p 17850

文件句柄

在文件I/O中,要从一个文件读取数据,应用程序首先要调用操作系统函数并传送文件名,并选一个到该文件的路径来打开文件。该函数取回一个顺序号,即文件句柄(file handle)

lsof -p 【PID】查看进程PID打开的文件句柄详细信息(lsof -p 17850)
lsof -p 17850|wc -l 查看进程pid打开文件句柄的数量
lsof |wc -l 查看所有进程的文件打开数

COMMAND:进程的名称

PID:进程标识符

USER:进程所有者

FD:文件描述符,应用程序通过文件描述符识别该文件。如 cwd、txt等

TYPE:文件类型,如 DIR、REG、IPV4、FIEO等

DEVICE:指定磁盘的名称

SIZE:文件的大小

NODE:索引节点(文件在磁盘上的标识)

NAME:打开文件的确切名称

如何查看CPU利用率高的TOP10进程清单

#CPU
top:使用top命令然后按下M(大写)
#内存
以此类推查看内存按下P

只看前十

#cpu
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head
#内存
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head

其中第一句主要是为了获取标题(USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND)。

接下来的grep -v PID是将ps aux命令得到的标题去掉,即grep不包含PID这三个字母组合的行,再将其中结果使用sort排序。

sort -rn -k +3该命令中的-rn的r表示是结果倒序排列,n为以数值大小排序,而-k +3则是针对第3列的内容进行排序,再使用head命令获取默认前10行数据。(其中的|表示管道操作)

PID:进程的ID

USER:进程所有者

PR:进程的优先级别,越小越优先被执行

NInice:值

VIRT:进程占用的虚拟内存

RES:进程占用的物理内存

SHR:进程使用的共享内存

S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数

%CPU:进程占用CPU的使用率

%MEM:进程使用的物理内存和总内存的百分比

TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。

COMMAND:进程启动命令名称

如何根据PID强制终止进程

kill -Signal pid

signal是发送给进程的信号, 可以使用 kill -l 列出所有的信号值

默认参数下,kill 发送SIGTERM(15)信号给进程,告诉进程,你需要被关闭,请自行停止运行并退出。

kill -9 pid (kill -9 1234)

kill -9 发送SIGKILL信号给进程,SIGKILL是发送给一个进程来导致它立即终止的信号

TERM(或数字9)表示“无条件终止”;

kill - 9 表示强制杀死该进程

如何按名称或PID查找一个进程?如何按端口号查找一个进程?如何查看一个进程的CPU和内存、文件句柄使用情况?如何查看CPU利用率高的TOP10进程清单?如何根据PID强制终止进程?的更多相关文章

  1. Bat脚本:通过端口号查找进程号

    最近在用jenkins做自动化web部署,web服务器是tomcat. 遇到了这样一个问题:在服务器上执行tomcat的shutdown.bat命令可以正常关机,但用jenkins执行shutdown ...

  2. 如何在 Linux 中查看进程占用的端口号【转】

    对于 Linux 系统管理员来说,清楚某个服务是否正确地绑定或监听某个端口,是至关重要的.如果你需要处理端口相关的问题,这篇文章可能会对你有用. 端口是 Linux 系统上特定进程之间逻辑连接的标识, ...

  3. linux ps命令,查看某进程cpu和内存占用率情况, linux ps命令,查看进程cpu和内存占用率排序。 不指定

    背景:有时需要单看某个进程的CPU及占用情况,有时需要看整体进程的一个占用情况.一. linux ps命令,查看某进程cpu和内存占用率情况[root@test vhost]# ps auxUSER  ...

  4. .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?

    原文:.NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用? 都知道可以在任务管理器中查看进程的 CPU 和内存占用,那么如何通过 .NET 编写代码的方式来获取到 ...

  5. Windows根据端口号查找对应的进程和服务

    需求 1,我们在Win10安装一些Web服务时,会发现默认端口被占用,比如443端口被占用,808端口被占用,那么如何找出占用这些默认端口的进程和对应的服务呢? 2,系统安装完成后,会有一些应用对外开 ...

  6. 通过端口号查找进程号并杀掉进程window和Linux版本

    window版本: cmd下执行: 1.查找某端口号下的进程: netstat -ano|findstr 8080 如果该端口号存在进程,执行完命令后会出现列表,最后一列的数字表示该端口号下的进程号 ...

  7. Eclispe造成的tomcat占用端口 无法启动 强制终止进程 转载

    很多时候运行tomcat 的时候总是会提示tomcat 的端口被占用 但是任务管理器里面还找不到是哪个端口被占用了 因此很多人就重新配置tomcat  或者去修改tomcat的端口号 ,其实这么做太麻 ...

  8. linux测试某进程占用oi、cpu、内存的使用情况

    pidstat 概述 pidstat是sysstat工具的一个命令,用于监控全部或指定进程的cpu.内存.线程.设备IO等系统资源的占用情况.pidstat首次运行时显示自系统启动开始的各项统计信息, ...

  9. Windows下用C语言获取进程cpu使用率,内存使用,IO情况

      #ifndef PROCESS_STAT_H #define PROCESS_STAT_H   #ifdef __cplusplus extern “C” { #endif   typedef l ...

随机推荐

  1. SM4密码算法matlab实现

    %function C=SM4(X,K,M)%M为1时进行加密,M为0时进行解密操作,X为明文/密文输入,K为密钥输入X='0123456789abcdeffedcba9876543210';%X=' ...

  2. java注解(1)

    Java注解是附加在代码中的一些元信息,用于一些工具在编译.运行时进行解析和使用,起到说明.配置的功能.注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用.注解是Java SE5中引入的重要的语言 ...

  3. 如何解决Python下 pip install module 下载慢解决方法?

    对于Python来编程的用户最大的一个痛点就是,下载模块是下载速度特别慢,那么有没有解决方法呢? 换Python的pip下载源 1.首先安装一个模块 pqi,在cmd下 pip install pqi ...

  4. 国内外比较不错的php框架汇总

    国外 1.laravel 2.symfony 3.yii 4.laminas(zendframework) 国内 1.thinkphp 2.ebcms 3.暂无

  5. 加权图的最小生成树、最短路径算法 - java实现

    加权图相关算法 前言 本文主要介绍加权图算法中两个重要应用:最小生成树和最短路径. 求最小生成树时针对的是加权无向图,加权有向图的最小生成树算法成为"最小属树形图"问题,较为复杂, ...

  6. Mac 环境下配置 MySQL 以及 Mac终端登录MySQL

    1.首先mysql官网下载Mac 版 mysql直接安装 2.打开偏好设置-> MySQL -> 查看是否开启mysql服务 3.打开终端 进入mysql目录: /usr/local/my ...

  7. Kafka消费与心跳机制

    1.概述 最近有同学咨询Kafka的消费和心跳机制,今天笔者将通过这篇博客来逐一介绍这些内容. 2.内容 2.1 Kafka消费 首先,我们来看看消费.Kafka提供了非常简单的消费API,使用者只需 ...

  8. SON Web Tokens 工具类 [ JwtUtil ]

    pom.xml <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt< ...

  9. pip安装更换镜像源

    说明 有时候网不好,pip安装非常慢,所以需要更换源,特记录如下   国内镜像地址: # 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple # 豆瓣 http ...

  10. Python练习题 037:Project Euler 009:毕达哥拉斯三元组之乘积

    本题来自 Project Euler 第9题:https://projecteuler.net/problem=9 # Project Euler: Problem 9: Special Pythag ...