Linux上进程与用户与端口的相爱相杀

/ Linux_manage / 1 条评论 / 1756浏览

又名:一百种杀死进程的方法

要知道的

端口统一:6767

进程统一:mysqld

用户统一:www

在地球上杀人都要讲法律,杀进程也要看清楚再kill,grep的-w参数一定要了解清楚,不要误杀

init进程是不可杀的

init是Linux系统操作中不可缺少的程序之一。所谓的init进程,它是一个由内核启动的用户级进程。内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以,init始终是第一个进程(其进程编号始终为1)。 其它所有进程都是init进程的子孙

根据端口杀进程

kill + lsof

kill `lsof -i:6767 |awk '{print $2}' |grep -v [A-Z]`

kill + netstat

kill `netstat -lntup |grep -w 6767 |awk -F '[/ | ]+' '{print $7}'`    #请务必使用-w参数,只过滤完全符合的端口

根据用户杀进程

kill + ps -u

kill `ps -u www |awk '{print $1}' |grep -v [A-Z]`

killall -u

killall -u www     #killall -u 杀死www用户的进程

kill + pgrep

pgrep -u  www |xargs kill

pkill -u

pkill -u www

根据服务名字杀进程

kill + pidof

kill `pidof -s mysqld`

pkill

pkill -o mysqld

kill + ps

ps -ef |grep -w mysqld |awk '{print $2}'|xargs kill

附赠

根据文件杀死进程

pkill -f sprintbootdemo.jar