linux干掉进程需要先使用ps、netstat、lsof等命令查看pid才可以使用kill干掉进程,期间要来回输入多条命令
使用一条命令将需要的进程干掉
# 需要把下面docker开启的代理进程干掉,正常操作是 ps -ef | grep docker 在使用 kill -9 4872
[root@localhost ~]# ps -ef | grep docker
root 1034 1 0 05:55 ? 00:00:35 /usr/bin/dockerd
root 1202 1034 0 05:55 ? 00:00:36 docker-containerd --config /var/run/docker/containerd/containerd.toml
root 4858 1034 0 15:32 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8084 -container-ip 172.17.0.2 -container-port 8084
root 4868 1034 0 15:32 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8083 -container-ip 172.17.0.2 -container-port 8083
root 4872 1202 0 15:32 ? 00:00:00 docker-containerd-shim -namespace moby -workdir /var/lib/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/df5de1038c0e0068fb6c0c86421c76616ce45f7cb5130cb247e6a928 -address /var/run/docker/containerd/docker-containerd.sock -containerd-binary /usr/bin/docker-containerd -runtime-root /var/run/docker/runtime-runc
一条命令干掉进程
# awk {print $2} 筛选出第2列的内容
# awk NR==4 筛选出第4行的内容
[root@localhost ~]# kill -9 $(ps -ef | grep docker | awk {print $2}| awk NR==4)
# 已经干掉了进程
[root@localhost ~]# ps -ef | grep docker
root 1034 1 0 05:55 ? 00:00:35 /usr/bin/dockerd
root 1202 1034 0 05:55 ? 00:00:36 docker-containerd --config /var/run/docker/containerd/containerd.toml
还可以是用这条,效果一样
[root@localhost ~]# ps -ef | grep docker | awk {print $2}| awk NR==9 | xargs kill -9