查看系统进程

  • ps:用于报告当前系统的进程状态

    • a:显示所有终端机下执行的程序
ps -ef/ps aux: 这两个命令都是查看当前系统正在运行进程,两者的区别是展示格式不同。
如果想要查看特定的进程可以使用这样的格式:ps aux|grep redis (查看包括redis字符串的进程)
[root@VM_0_4_centos ~]# ps -ef | grep nginx
root 1892 1 0 15:19 ? 00:00:00 nginx: master process nginx
nginx 1893 1892 0 15:19 ? 00:00:00 nginx: worker process
root 1908 1248 0 15:19 pts/0 00:00:00 grep --color=auto nginx root@iZuf6c0rnhno78oq2pxylnZ:~# ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND USER 进程的属主;
PID 进程的ID;
PPID 父进程;
%CPU 进程占用的CPU百分比;
%MEM 占用内存的百分比;
NI 进程的NICE值,数值大,表示较少占用CPU时间;
VSZ 进程虚拟大小;
RSS 驻留中页的数量;
TTY 终端ID
STAT 进程状态(有以下几种)
D 无法中断的休眠状态(通常 IO 的进程);
R 正在运行可中在队列中可过行的;
S 处于休眠状态;
T 停止或被追踪;
W 进入内存交换(从内核2.6开始无效);
X 死掉的进程(从来没见过);
Z 僵尸进程;

杀死进程

  • kill : 用来删除执行中的程序或工作

    • 语法: kill(选项)(参数)

    • 选项:

      • a:当处理当前进程时,不限制命令名和进程号的对应关系;
      • l <信息编号>:若不加<信息编号>选项,则-l参数会列出全部的信息名称;
      • p:指定kill 命令只打印相关进程的进程号,而不发送任何信号;
      • s <信息名称或编号>:指定要送出的信息;
      • u:指定用户
    • 参数:进程或作业识别号:指定要删除的进程或作业。常用PID

  • 列出所有信号名称

    • kill -l
root@iZuf6c0rnhno78oq2pxylnZ:~# kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
·
·
·
  • 得到指定信号的数值

    • kill -l KILL
root@iZuf6c0rnhno78oq2pxylnZ:~# kill -l KILL
9
  • 杀死进程
  1. 查看nginx进程:ps -aux | grep nginx
root@iZuf6c0rnhno78oq2pxylnZ:~# ps -aux | grep nginx
root 323 0.0 0.2 117656 4924 ? Ss 2019 0:00 nginx: master process nginx
root 3412 0.0 0.0 14224 968 pts/0 S+ 16:32 0:00 grep --color=auto nginx
www-data 30902 0.0 0.2 118032 4992 ? S Jan04 0:00 nginx: worker process

2、杀死nginx进程:kill -9 323 30902

root@iZuf6c0rnhno78oq2pxylnZ:~# kill -9 323 30902

查看程序占用的端口号

ps:lsof -i 需要 root 用户的权限来执行

  • lsof: 是一个列出当前系统打开文件的工具

    • 语法:lsof(选项)
    • 选项
      • a:列出打开文件存在的进程;
      • c<进程名>:列出指定进程所打开的文件;
      • g:列出GID号进程详情;
      • d<文件号>:列出占用该文件号的进程;
      • d< 目录>:列出目录下被打开的文件;
      • D<目录>:递归列出目录下被打开的文件;
      • n<目录>:列出使用NFS的文件;
      • i<条件>:列出符合条件的进程。(4、6、协议、:端口、 @ip )
      • p<进程号>:列出指定进程号所打开的文件;
      • u:列出UID号进程详情;
      • h:显示帮助信息;
      • v:显示版本信息。
  • 查看占用80端口的程序

  • lsof -i : 端口号

root@iZuf6c0rnhno78oq2pxylnZ:~# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
AliYunDun 822 root 21u IPv4 46829108 0t0 TCP 172.17.1.142:37126->100.100.30.25:http (ESTABLISHED)
nginx 19170 root 6u IPv4 69865848 0t0 TCP 172.17.1.142:http (LISTEN)
nginx 19173 www-data 6u IPv4 69865848 0t0 TCP 172.17.1.142:http (LISTEN)
  • 根据进程PID查看占用的端口号
  • lsof -i | grep pid
root@iZuf6c0rnhno78oq2pxylnZ:~# lsof -i | grep 19170
nginx 19170 root 6u IPv4 69865848 0t0 TCP 172.17.1.142:http (LISTEN)
nginx 19170 root 7u IPv4 69865849 0t0 TCP 172.17.1.142:81 (LISTEN)
nginx 19170 root 8u IPv4 69865850 0t0 TCP 172.17.1.142:8000 (LISTEN)
nginx 19170 root 9u IPv4 69865851 0t0 TCP 172.17.1.142:8001 (LISTEN)
nginx 19170 root 10u IPv4 69865852 0t0 TCP 172.17.1.142:8002 (LISTEN)
  • 根据进程名查看占用的端口号
root@iZuf6c0rnhno78oq2pxylnZ:~# lsof -i | grep nginx
nginx 19170 root 6u IPv4 69865848 0t0 TCP 172.17.1.142:http (LISTEN)
nginx 19170 root 7u IPv4 69865849 0t0 TCP 172.17.1.142:81 (LISTEN)
nginx 19170 root 8u IPv4 69865850 0t0 TCP 172.17.1.142:8000 (LISTEN)
nginx 19170 root 9u IPv4 69865851 0t0 TCP 172.17.1.142:8001 (LISTEN)
nginx 19170 root 10u IPv4 69865852 0t0 TCP 172.17.1.142:8002 (LISTEN)
nginx 19173 www-data 6u IPv4 69865848 0t0 TCP 172.17.1.142:http (LISTEN)
nginx 19173 www-data 7u IPv4 69865849 0t0 TCP 172.17.1.142:81 (LISTEN)
nginx 19173 www-data 8u IPv4 69865850 0t0 TCP 172.17.1.142:8000 (LISTEN)
nginx 19173 www-data 9u IPv4 69865851 0t0 TCP 172.17.1.142:8001 (LISTEN)
nginx 19173 www-data 10u IPv4 69865852 0t0 TCP 172.17.1.142:8002 (LISTEN)

查看Linux中网络系统的状态信息

  • netstat

    • 语法:netstat(选项)
    • 选项:
      • a或--all:显示所有连线中的Socket;
      • n或--numeric:直接使用ip地址,而不通过域名服务器;
      • p或--programs:显示正在使用Socket的程序识别码和程序名称;
  • 根据进程名查看占用的端口号

root@iZuf6c0rnhno78oq2pxylnZ:~# netstat -anp | grep nginx
tcp 0 0 172.17.1.142:8000 0.0.0.0:* LISTEN 19170/nginx: master
tcp 0 0 172.17.1.142:8001 0.0.0.0:* LISTEN 19170/nginx: master
tcp 0 0 172.17.1.142:8002 0.0.0.0:* LISTEN 19170/nginx: master
tcp 0 0 172.17.1.142:80 0.0.0.0:* LISTEN 19170/nginx: master
tcp 0 0 172.17.1.142:81 0.0.0.0:* LISTEN 19170/nginx: master
unix 3 [ ] STREAM CONNECTED 69865863 19170/nginx: master
unix 3 [ ] STREAM CONNECTED 69865862 19170/nginx: master
  • 根据进程PID查看占用的端口号
root@iZuf6c0rnhno78oq2pxylnZ:~# netstat -anp | grep 80
tcp 0 0 172.17.1.142:8000 0.0.0.0:* LISTEN 19170/nginx: master
tcp 0 0 172.17.1.142:8001 0.0.0.0:* LISTEN 19170/nginx: master
tcp 0 0 172.17.1.142:8002 0.0.0.0:* LISTEN 19170/nginx: master
tcp 0 0 172.17.1.142:80 0.0.0.0:* LISTEN 19170/nginx: master

参考文章

每天一个linux命令(42):kill命

Linux 查看端口占用情况

Linux命令大全

如何在 Linux 中查看进程占用的端口号

笔记常用Linux命令(二) 进程和端口的更多相关文章

  1. 笔记常用Linux命令(三) 查看服务器日志

    服务器日志 用于记录服务器的运行情况 查看服务器日志 tail:查看后面几行 n 显示行数 f 持续侦测后面的内容,查看服务器日志常用 查看最新的服务日志(静态) 命令格式:tail -n 行数 日志 ...

  2. 常用Linux命令笔记

    任何脱离业务的架构都是耍流氓 只记录实际常用的Linux命令 常用Linux命令 查找安装路径: whereis nginx 查询nginx进程: ps aux|grep nginx 查看 CentO ...

  3. linux下查看进程占用端口和端口占用进程命令

    Linux下查看进程占用端口: 查看程序对应进程号:ps –ef|grep 进程名 REDHAT :查看进程号所占用的端口号:netstat –nltp|grep 进程号 ubuntu:查看进程占用端 ...

  4. linux 下查看进程占用端口和端口号占用进程命令

    linux 下查看进程占用端口:(1)查看程序对应的进程号: ps -ef | grep 进程名字 (2)查看进程号所占用的端口号: netstat -nltp | grep  进程号 ubuntu ...

  5. 常用Linux命令小结

    常用Linux命令小结 Linux下有很多常用的很有用的命令,这种命令用的多了就熟了,对于我来说,如果长时间没有用的话,就容易忘记.当然,可以到时候用man命令查看帮助,但是,到时候查找的话未免有些临 ...

  6. 工作中常用Linux命令--服务器运维

    工作中常用Linux命令--服务器运维 lsof查看端口使用情况 lsof -i:8080更多lsof命令使用说明:http://www.cnblogs.com/peida/archive/2013/ ...

  7. 十五个最常用Linux命令行 - imsoft.cnblogs

    众多Linux管理员在使用Linux的时候会经常使用到很多Linux命令行,其中有绝大部分不是经常使用到的.在本文中主要为大家总结了经常使用的十五个最常用Linux命令行,希望对刚刚接触Linux命令 ...

  8. 77个常用Linux命令和工具

    77个常用Linux命令和工具 Linux管理员不能单靠GUI图形界面吃饭.这就是我们编辑这篇最实用Linux命令手册的原因.这个指南是特别为Linux管理员和系统管理员 设计的,汇集了最有用的一些工 ...

  9. Linux - 常用 Linux 命令的基本使用

    常用 Linux 命令的基本使用 目标 理解学习 Linux 终端命令的原因 常用 Linux 命令体验 01. 学习 Linux 终端命令的原因 Linux 刚面世时并没有图形界面,所有的操作全靠命 ...

随机推荐

  1. lombok工作原理分析

    在Lombok使用的过程中,只需要添加相应的注解,无需再为此写任何代码.但是自动生成的代码到底是如何产生的呢? 核心之处就是对于注解的解析上.JDK5引入了注解的同时,也提供了两种解析方式. 运行时解 ...

  2. jquery中报错Uncaught ReferenceError: $ is not defined的解决办法

    jquery中报错提示为:Uncaught ReferenceError: $ is not defined 这个错误的原因就是你没有引入jquery库文件或者引入的路径不对造成的

  3. vue-awesome-swiper手动滑动后不再自动轮播的问题

    <swiper :options="swiperOption" ref="mySwiper" > <!--轮播图内容--> </s ...

  4. C# 字符串与二进制的相互转换

    /// <summary> /// 将字符串转成二进制 /// </summary> /// <param name="s"></para ...

  5. $Poj3585\ Accumulation Degree$ 树形$DP/$二次扫描与换根法

    Poj Description 有一个树形的水系,由n-1条河道与n个交叉点组成.每条河道有一个容量,联结x与y的河道容量记为c(x,y),河道的单位时间水量不能超过它的容量.有一个结点是整个水系的发 ...

  6. Windows服务器管理--批量管理工具

    iis7批量远程控制: 一款电脑远程监控的工具,IIS7远程桌面管理是一款专业的远程桌面连接软件,无需安装.操作简单方便.完美的界面设计.强大的监控功能.稳定的系统平台,满足了用户实现远程桌面连接的需 ...

  7. JDK1.8的HashMap实现原理和源码解析

    哈希表(hash table)也叫散列表,是一种非常重要的数据结构.许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,本文会对java集合框架中的对应实现HashMap的 ...

  8. ng-zorro-antd中踩过的坑

    ng-zorro-antd中踩过的坑 前端项目中,我们经常会使用阿里开源的组件库:ant-design,其提供的组件已经足以满足多数的需求,拿来就能直接用,十分方便,当然了,有些公司会对组件库进行二次 ...

  9. Intellij IDEA 导入eclipse 项目

    HoJe一个会rep的程序猿 . 感谢2019 时间匆匆,一转眼2019要跟我们说再见了.我们怀有太多的期望就难免遭遇失望和挫折.我们遇到了困难,往往不是想办法去解决,而是抱怨这个命运的不公.如果生活 ...

  10. jenkins +git+ssh 构建 .net项目

    jenkins +git+ssh 构建 .net项目 安装jenkins jdk 和插件就不一一介绍了. Multiple SCMs 插件介绍:可以获取多个项目(如果你的项目中有依赖其他项目的) So ...