使用psmisc fuser 关闭指定端口或者路径的进程
fuser
是一个非常有用的工具,可以用来查看哪些进程正在使用特定的文件、目录、或者端口。你也可以用它来查找和终止访问特定二进制文件的进程。
查询关闭特定端口的进程
格式如下,如启动了一个端口为8080的tcp服务进程
sudo fuser 8080/tcp |
执行命令, 输出如下:
8080/tcp: 196367 |
然后可以一次性执行
sudo fuser -k 8080/tcp |
将会关闭掉该8080端口的进程(使用SIGKILL信号)
查询关闭特定文件的进程
格式如下, 如启动了一个helloworld程序,路径为/data/helloworld
sudo fuser /data/helloworld |
执行命令, 输出如下:
/data/helloworld: 196367e |
e表示是个可执行文件
在默认显示模式下,每个文件名后面都会跟随一个字母,表示访问类型:
c 当前目录。
e 正在运行的可执行文件。
f 打开的文件。在默认显示模式下省略 f。
F 打开用于写入的文件。在默认显示模式下省略 F。
r 根目录。
m 内存映射文件或共享库。
. 占位符,在默认显示模式下省略。
然后可以一次性执行关闭该可执行程序对应的进程
sudo fuser -k /data/helloworld |
指定要发送的信号
默认会发送SIGKILL信号,如果你想发送其他信号,可以使用-s
选项,如发送SIGTERM信号
sudo fuser -k -s SIGTERM 8080/tcp |