windos和linux杀进程指令以及kill、pkill、killall区别

windows环境

查询进程pid

1、根据ImageName查询:tasklist

常用命令:

tasklist  /svc | findstr adb    #返回结果的第二列就是pid

tasklist  /v | findstr adb       #返回结果的第二列就是pid

#    /svc  显示每个进程中主持的服务。

#  /v  指定要显示详述信息。

tasklist的其他参数可以通过以下方式查看(这里就不罗列啦):

tasklist   /?

2、根据占用的端口查询:netstat(命令用于显示各种网络相关信息,如网络连接)

常用指令:

netstat -nao | findstr  占用端口号     #输出结果的最后一列是pid

#  /n  以数字形式显示地址和端口号。

#  /a  显示所有连接和侦听端口。 

/o  显示拥有的与每个连接关联的进程 ID

netstat的其他参数可以通过以下方式查看(这里就不罗列啦):

netstat  /?

杀进程

使用taskkill指令

1、根据pid来杀进程(pid的获取方式前面已经介绍过)

taskkill /f /pid 5525

2、根据ImageName杀进程(ImageName要全称,所以不推荐)

taskkill /f /im cmd.exe

taskkill的其他参数可以通过“/?”参数来获取噢

linux环境

查询进程pid

1、根据进程名查询pid

① 使用ps指令

ps -ef | grep firefox    #结果的第一列就是pid噢

ps -aux |grep firefox

② 使用pgrep指令(有些查询不到)

pgrep firefox      #直接返回pid

③ 使用netstat(有些查询不到)

netstat -p |grep firefox

2、根据占用端口查询pid

① 使用lsof指令

lsof -i:4723

② 使用ss指令

ss -lp |grep 4723

③ 使用netstat指令

netstat -apn |grep 4723

杀进程

1、 使用pid杀进程

kill -s 9 pid

2、使用进程名杀

pgrep firefox | xargs kill -s 9

#  xargs是把前面的输出作为后面指令的参数

pkill   #pgrep+kill

pkill -9 firefox

注意:pkill与kill在这点的差别是:pkill无须 “s”,终止信号等级直接跟在 “-“ 后面。

各种信号及其用途

参考:http://blog.csdn.net/andy572633/article/details/7211546#


kill、pkill、killall区别

1、kill是根据pid来杀进程;而后两者是根据进程名来哈进程的,所以是批量删除的,存在一定危险。

2、kill杀进程时需要在“-”后面添加“s”,然后加空格和信号;而后两者不用“s”,直接在“-”后面添加信号(不用空格)

3、pkill和pgrep后的进程名可以不完整,而killall的进程名必须完整的

你可能感兴趣的:(windos和linux杀进程指令以及kill、pkill、killall区别)