
在Linux要检查那一个进程(process)占用特定埠号,可以用netstat或lsof来做,例如想列出所有开启的埠号,可以netstat指令:
假如只想输出某个文件的进程,可以加上grep过滤:
或者只想输出占用某个端口的进程,可以加上grep过滤:
上面可以看到是mongod占用端口966,进程的pid是966
杀死进程通常有两个命令来结束进程:
kill - 通过进程 ID 来结束进程
killall - 通过进程名字来结束进程
我们现在用 kill 命令来杀死 mongod的进程。这个命令的结构是:kill SIGNAL PID
或者:
我们已经知道我们想要杀死的那个进程的名字,我们能够利用 killall 命令发送同样的信号,像这样:
killall -9 mongod
不会出现这种情况的,/proc是一个虚拟文件系统,这个文件系统下的所有的数据都是在内存当中的(因为它就是挂载在内存当中的),用df -a命令查看它的大小的时候是会显示为0的。这个文件系统的作用是放置Linux系统所需要加载的系统数据,例如系统内核、进程、外部设备的状态以及网络状态等,比如常见的/proc/cpuinfo文件就在里面,不会有哪个进程大量占用/proc目录,再加上数据是在内存中,所以它不会造成Linux根目录爆满。使用fuser来查文件或目录被谁占用fuser /proc
/proc:2454rc
参数:-v 显示用多信息,-u 显示用户
# fuser -uv /proc
用户 进程号 权限 命令
/proc: rtkit 2454 .rc.. (rtkit)rtkit-daemon
想要显示/proc目录下所有文件和目录被占用情况,加-m参数
# fuser -uvm /proc
用户 进程号 权限 命令
/proc: root 1311 f.... (root)rsyslogd
root 1667 f.... (root)vmtoolsd
root 2028 f.... (root)acpid
haldaemon 2040 f.... (haldaemon)hald
root 2297 F.... (root)Xorg
rtkit 2454 .rc.. (rtkit)rtkit-daemon
root 2659 f.... (root)nautilus
root 2673 f.... (root)udisks-daemon
root 2712 f.... (root)gnome-power-man
使用删除某个PID,加-k参数,加入-i,配合-k会询问用户意愿
# fuser -ki /proc
/proc:2454rc
杀死进程 2454 ? (y/N) n
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)