您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
Linux中死灰復燃的進程如何殺死?fuser命令的使用
发布时间:2022-01-07 23:12:31编辑:雪饮阅读()
- c:指示进程的工作目录。
- e:指示该文件为进程的可执行文件(即进程由该文件拉起)。
- f:指示该文件被进程打开,默认情况下f字符不显示。
- F:指示该文件被进程打开进行写入,默认情况下F字符不显示。
- r:指示该目录为进程的根目录。
- m:指示进程使用该文件进行内存映射,抑或该文件为共享库文件,被进程映射进内存。
fuser
使用文件或文件结构识别进程
补充说明
fuser命令 用于报告进程使用的文件和网络套接字。fuser命令列出了本地进程的进程号,那些本地进程使用file,参数指定的本地或远程文件。对于阻塞特别设备,此命令列出了使用该设备上任何文件的进程。
每个进程号后面都跟随一个字母,该字母指示进程如何使用文件。
语法
fuser(选项)(参数)
选项
-a:显示命令行中指定的所有文件;
-k:杀死访问指定文件的所有进程;
-i:杀死进程前需要用户进行确认;
-l:列出所有已知信号名;
-m:指定一个被加载的文件系统或一个被加载的块设备;
-n:选择不同的名称空间;
-u:在每个进程后显示所属的用户名。
参数
文件:可以是文件名或者TCP、UDP端口号。
实例
要列出使用/etc/passwd文件的本地进程的进程号,请输入:
fuser /etc/passwd
要列出使用/etc/filesystems文件的进程的进程号和用户登录名,请输入:
fuser -u /etc/filesystems
要终止使用给定文件系统的所有进程,请输入:
fuser -k -x -u -c /dev/hd1 或者 fuser -kxuc /home
任一命令都列出了进程号和用户名,然后终止每个正在使用/dev/hd1 (/home)文件系统的进程。仅有root用户能终止属于另一用户的进程。如果您正在试图卸下/dev/hd1文件系统,而一个正在访问/dev/hd1文件系统的进程不允许这样,您可能希望使用此命令。
要列出正在使用已从给定文件系统删除的文件的全部进程,请输入:
fuser -d /usr文件
/dev/kmem 用于系统映像。
/dev/mem 也用于系统映像。
/dev/mem 也用于系统映像。
以上是fuser的基本使用,我用黃色標記了比較重要的幾個點,那麽接下來就是解決實際問題的時候了
在寶塔上某次配置nginx時候配置保存后重啓服務就出現了如下錯誤:

划重點:
nginx: [emerg] bind0 to 0.0.0.0:80 failed (98:Address already in use)
也就是說80端口被占用
按照慣例,我就找到該占用80端口的進程kill掉它
[root@localhost www.fpm.com]# netstat -anpt | grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1857/nginx: master
tcp6 0 0 :::80 :::* LISTEN 1857/nginx: master
[root@localhost www.fpm.com]# kill -9 1857
[root@localhost www.fpm.com]# netstat -anpt | grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1858/nginx: worker
tcp6 0 0 :::80 :::* LISTEN 1858/nginx: worker
好家夥,剛kill掉它之後它又更換了一個新的進程id再次啓動了。
那麽這個時候就該使用了fuser來殺掉它了
[root@localhost www.fpm.com]# fuser -k 80/tcp
80/tcp: 1858 1859
[root@localhost www.fpm.com]# netstat -anpt | grep 80
一下子清净多了,這裏注意到80/tcp我的理解就是呼應了上面:
参数
文件:可以是文件名或者TCP、UDP端口号。
的,這可能是某種網絡資源的表達方式吧。
关键字词:Linux,死灰復燃,進程,fuser
上一篇:workerman-常見問題-創建wss服務-直接用Workerman开启SSL
下一篇:sqlserver連接錯誤SSL routinesssl_choose_client_versionunsupported protocol