当前位置:   article > 正文

linux ps进程查看与杀死_linux ps查看端口占用情况并杀掉进程文件

linux ps查看端口占用情况并杀掉进程文件

linux安装文件:
系统安装软件一般在/usr/share,可执行的文件在/usr/bin,配置文件可能安装到了/etc下等。
文档一般在 /usr/share
可执行文件 /usr/bin
配置文件 /etc
lib文件 /usr/lib

ps命令查找与进程相关的PID号:

ps a  显示现行终端机下的所有程序,包括其他用户的程序。
ps -A 显示所有程序。
ps c  列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
ps -e 此参数的效果和指定"A"参数相同。
ps e  列出程序时,显示每个程序所使用的环境变量。
ps f  用ASCII字符显示树状结构,表达程序间的相互关系。
ps -H 显示树状结构,表示程序间的相互关系。
ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
ps s 采用程序信号的格式显示程序状况。
ps S 列出程序时,包括已中断的子程序资料。
ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。
ps u 以用户为主的格式来显示程序状况。显示有效用户的相关进程
ps x 显示所有程序,列出比较完整的信息

查询系统所有进程数据       ps aux    
查看不与terminal有关的进程 ps ax
查看同一部分进程树状态     ps axjf

ps可以与grep组合一起查询
ps -ef | grep java 表示查看所有进程里 CMD 是 java 的进程信息等等
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

查询并杀死进程

// 获取终端上所有用户的有关进程的所有信息
[root@localhost~]$ sudo ps -aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.4 128092  4724 ?        Ss   Jun25   0:03 /usr/lib/systemd/syste
root          2  0.0  0.0      0     0 ?        S    Jun25   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    Jun25   0:00 [ksoftirqd/0]
root          6  0.0  0.0      0     0 ?        S    Jun25   0:00 [kworker/u256:0]
root          7  0.0  0.0      0     0 ?        S    Jun25   0:00 [migration/0]
...
root        235  0.0  0.0      0     0 ?        S<   Jun25   0:00 [mpt/0]
root        241  0.0  0.0      0     0 ?        S    Jun25   0:00 [scsi_eh_0]
root        243  0.0  0.0      0     0 ?        S<   Jun25   0:00 [scsi_tmf_0]
root        245  0.0  0.0      0     0 ?        S    Jun25   0:00 [scsi_eh_1]
root        246  0.0  0.0      0     0 ?        S    Jun25   0:00 [kworker/u256:2]
...


// 获取某服务程序的所有进程号
[root@localhost~]$ pgrep httpd
6703
6704
6705
6706

// 杀死进程,killall通过程序名字杀死所有进程。 `pgrep {programName}`查看进程是否存在
[root@localhost~]$ 
[root@localhost~]$ killall httpd
[root@localhost~]$ pgrep httpd
[root@localhost~]$ 

[root@localhost~]$ sudo kill -9 11719  # 普通kill无法杀死,那么就发送-9信号直接强制杀死
[root@localhost~]$ kill 11735          # 普通后台运行程序可以直接kill

[root@localhost~]$ ps -aux | grep java # 查看java进程
[root@localhost~]$ ps -aux | grep pid  # 根据 pid 查看进程

//  `ps -ef | grep {programName}`查看进程是否存在
[root@localhost~]$ ps -ef | grep {programName}
[root@localhost~]$ kill -9 {PID}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40

根据程序名杀死进程

如下两种方法都行

#!/usr/bin/bash
pkill -9 name_server

#========================================
kill -9 $(pidof name_server)
if [ $? -ne 0 ];then
    echo "shutdown error!"
else
    echo "shutdown successfully!!!"
fi
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

批量杀死进程:ps -ef| grep <进程名> |grep -v grep |awk '{print $2}' | xargs kill -9

查看端口占用

lsof列出当前系统打开文件,常与-i选项使用,用于查看某个端口被哪个程序占用

[root@bogon ~]# lsof -i:80
COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
httpd   6701   root    4u  IPv6  64259      0t0  TCP *:http (LISTEN)
httpd   6702 apache    4u  IPv6  64259      0t0  TCP *:http (LISTEN)
httpd   6703 apache    4u  IPv6  64259      0t0  TCP *:http (LISTEN)
httpd   6704 apache    4u  IPv6  64259      0t0  TCP *:http (LISTEN)
httpd   6705 apache    4u  IPv6  64259      0t0  TCP *:http (LISTEN)
httpd   6706 apache    4u  IPv6  64259      0t0  TCP *:http (LISTEN)
[root@bogon ~]# lsof -i:22
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd     931 root    3u  IPv4  20955      0t0  TCP *:ssh (LISTEN)
sshd     931 root    4u  IPv6  20965      0t0  TCP *:ssh (LISTEN)
sshd    3926 root    3u  IPv4  36374      0t0  TCP bogon:ssh->bogon:53436 (ESTABLISHED)
[root@bogon ~]# 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

head标头

USER 用户名
UID 用户ID(User ID)
PID 进程ID(Process ID)
PPID  父进程的进程ID(Parent Process id)
SID 会话ID(Session id)
%CPU 进程的cpu占用率
%MEM 进程的内存占用率

VSZ 进程所使用的虚拟的大小(Virtual Size)
RSS 进程使用的驻留集大小或者是实际内存的大小,kbytes字节
TTY 与进程关联的终端(tty)
STAT 进程的状态:进程状态使用字符表示的(STAT的状态码)

R运行 Runnable(on run queue) 正在运行或在运行队列中等待。

s 睡眠 Sleeping  休眠中,受阻,在等待某个条件的形成或者接受到信号。
I 空闲 Idie
Z 僵死 进程已终止,但进程描述符存在,直到父进程调用wait4系统调用后释放。
D 不可中断 收到信号不唤醒和不可运行,进程必须等待直到有中断发生。
T 终止 进程收到SIGSTOP,SIGSTP,SIGTIN,SIGTOU信号后停止运行。
P 等待交换页
W 无驻留页 没有足够的记忆体分页可分配。
x 死掉的进程

《 高优先级进程         高优先序的进程
N 低优先 级进程        低优先序的进程
L 内存锁页 Lock  有记忆体分页分配并缩在记忆体内
s 进程的领导者(在它之下有子进程)
I 多进程的
+ 位于后台的进程组
START 进程启动时间和日期
TIME 进程使用的总cpu时间
COMMAND 正在执行的命令行命令
NI 优先级(Nice)
PRI 进程优先级编号(Priority)
WCHAN 进程正在睡眠的内核函数名称;该函数的名称是从/root/system.map文件中获得的。
FLAGS 与进程相关的数字标识。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/185073
推荐阅读
相关标签
  

闽ICP备14008679号