Linux 查看进程、杀死进程的命令

今天在使用 docker 启动 mysql 的时候,发生了一个 error 具体信息如下

error

刚开始看到这个 error 使用 lsof -i:3306 查找占用3306端口的进程的 pid, 然后使用 kill 命令将其杀死。然而 lsof -i:3306 并不能查到这个 pid,Plan A 失败。后来又尝试 Plan B、Plan C …….诸如重启、改端口号等方法,均以失败告终。最终在老师的帮助下使用

telnet localhost 3306

ps -eaf |grep mysql

消灭了这个 error,对于 telnet 比较了解,用于远程连接某个主机,但是对于第二条命令比较懵逼,特整理于此。

ps:查看进程

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 ,然后再通过管道使用 grep 命令过滤查找特定的进程,然后再对特定的进程进行操作

ps -aux | grep 3306

这里写图片描述

grep:搜索文本信息

c:只输出匹配行的计数。

-I:不区分大 小写(只适用于单字符)。

-h:查询多文件时不显示文件名。

-l:查询多文件时只输出包含匹配字符的文件名。

-n:显示匹配行及 行号。

-s:不显示不存在或无匹配文本的错误信息。

-v:显示不包含匹配文本的所有行。

pattern正则表达式主要参数:

\: 忽略正则表达式中特殊字符的原有含义。

^:匹配正则表达式的开始行。

$: 匹配正则表达式的结束行。

\<:从匹配正则表达 式的行开始。

\>:到匹配正则表达式的行结束。

[ ]:单个字符,如[A]A符合要求 。

[ - ]:范围,如[A-Z],即ABC一直到Z都符合要求 。

。:所有的单个字符。

* :有字符,长度可以为0。

kill:杀死进程

 kill XX // XX:标示进程的 pid

lsof:查看谁在使用文件系统

lsof `which httpd` //那个进程在使用apache的可执行文件

lsof /etc/passwd //那个进程在占用/etc/passwd

lsof /dev/hda6 //那个进程在占用hda6

lsof /dev/cdrom //那个进程在占用光驱

lsof -c sendmail //查看sendmail进程的文件使用情况

lsof -c courier -u ^zahn //显示出那些文件被以courier打头的进程打开,但是并不属于用户zahn

lsof -p 30297 //显示那些文件被pid为30297的进程打开

lsof -D /tmp 显示所有在/tmp文件夹中打开的instance和文件的进程。但是symbol文件并不在列

lsof -u1000 //查看uid是100的用户的进程的文件使用情况

lsof -utony //查看用户tony的进程的文件使用情况

lsof -u^tony //查看不是用户tony的进程的文件使用情况(^是取反的意思)

lsof -i //显示所有打开的端口

lsof -i:80 //显示所有打开80端口的进程

lsof -i -U //显示所有打开的端口和UNIX domain文件

附:lsof -i:3306 和 ps -eaf | grep 3306 的区别:

  1. lsof -i:3306:显示当前使用3306端口的进程的信息

  2. ps -eaf | grep 3306: 显示终端下使用3306端口的进程的信息

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值