首页 技术 正文
技术 2022年11月14日
0 收藏 931 点赞 2,814 浏览 1924 个字

linux 查找进程id端口占用和杀死进程

ps 命令用于查看当前正在运行的进程

辅助上grep 用于搜索匹配
ps -ef | grep java

ps ax : 显示当前系统进程的列表
ps aux : 显示当前系统进程详细列表以及进程用户

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

显示结果
user : 进程所属的用户
pid  : 进程id
ppid : 该进程的父进程id

lsof
lsof(list open files)是一个列出当前系统打开文件的工具。
在linux环境下,任何事物都以文件的形式存在,
通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。

COMMAND     PID        USER   FD      TYPE             DEVICE SIZE/OFF       NODE  NAME
/opt/lamp   1321       root   txt     REG              202,1    590080       665698 /opt/lampp/bin/httpd

释义:
COMMAND:进程的名称
PID:进程标识符
USER:进程所有者
FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等 TYPE:文件类型,如DIR、REG等
DEVICE:指定磁盘的名称
SIZE:文件的大小
NODE:索引节点(文件在磁盘上的标识)
NAME:打开文件的确切名称

pgrep Java | xargs ps -u –pid
模糊查找 杀死进程
假设我要查看conky的进程信息,但是我只记得con是关键字
pgrep con | xargs ps -u –pid
分步则为:
1.pgrep con
2.ps –pid xxx

查找端口占用 指定端口占用
netstat -apn | grep 80

显示结果:
最后的一栏是 PID/Program Name

或者通过lsof命令查找
lsof -i:80   查找端口

*以优雅的方式结束进程
# kill -l PID
-l选项告诉kill命令用好像启动进程的用户已注销的方式结束进程。
当使用该选项时,kill命令也试图杀死所留下的子进程。
但这个命令也不是总能成功–或许仍然需要先手工杀死子进程,然后再杀死父进程。

kill 命令用于终止进程
例如: kill -9 [PID]
-9 表示强迫进程立即停止

这个强大和危险的命令迫使进程在运行时突然终止,进程在结束后不能自我清理。
危害是导致系统资源无法正常释放,一般不推荐使用,除非其他办法都无效。
当使用此命令时,一定要通过ps -ef确认没有剩下任何僵尸进程。
只能通过终止父进程来消除僵尸进程。如果僵尸进程被init收养,问题就比较严重了。
杀死init进程意味着关闭系统。
如果系统中有僵尸进程,并且其父进程是init,
而且僵尸进程占用了大量的系统资源,那么就需要在某个时候重启机器以清除进程表了。

killall命令杀死同一进程组内的所有进程。其允许指定要终止的进程的名称,而非PID。
# killall httpd

pkill 使用方法同上 pkill firefox
pkill 可以很方便杀死某用户的所有进程
pkill -u root

ps
lsof
netstat
kill

参考:
http://www.cnblogs.com/lucyjiayou/archive/2012/02/24/2366194.html
http://blog.csdn.net/wojiaopanpan/article/details/7286430/
http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316599.html
守护进程daemon http://blog.csdn.net/jw903/article/details/45312419
linux检查开放端口: http://www.cnblogs.com/kerrycode/p/5609010.html

windows下查看端口占用命令:
netstat -ano | findstr 80
windows下查看进程列表命令:
tasklist

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,943
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,469
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,283
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,098
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,729
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,766