使用rm -rf [folder name 或 filename]
删除时遇到无法删除,或命令行无响应等问题,一般都是因为文件或者文件夹正在被某个进程调用,所以无法删除。
解决方法就是查到正在占用该文件或者文件夹的进程,将进程杀死,在重新删除就好。
方法一:lsof
#更新源
apt-get update
#安装lsof apt-get install -y lsof
#使用lsof查看调用情况
lsof foldername or filename
#kill进程 kill -9 PID
#删除文件夹或文件
$ rm -rf foldername or filename
方法二:fuser
0.查看某个进程的pid
$ fuser /usr/bin/qb
/usr/bin/qb: 11206e
1.查看当前目录正在被哪些进程在使用
$ fuser -uv .
用户 进程号 权限 命令
/home/test: test 3022 ..c.. (test)gnome-session-b
test 3053 ..c.. (test)dbus-daemon
2.查看/lib/x86_64-linux-gnu/libc-2.27.so正在被哪些进程在使用
$ fuser -uv /lib/x86_64-linux-gnu/libc-2.27.so
用户 进程号 权限 命令
/lib/x86_64-linux-gnu/libc-2.27.so:
test 2983 ....m (test)systemd
test 3022 ....m (test)gnome-session-b
test 3047 ....m (test)fcitx
test 3053 ....m (test)dbus-daemon
test 3073 ....m (test)dbus-daemon
3.查看/proc这个目录有哪些进程在使用
$ fuser -uv /proc
用户 进程号 权限 命令
/proc: root kernel mount (root)/proc
test 8736 f.... (test)nacl_helper
test 8739 f.... (test)chrome
test 8789 f.... (test)chrome
test 10621 f.... (test)Typora
test 10654 f.... (test)Typora
4.那些进程在进行/proc文件系统的读取
$ fuser -muv /proc
用户 进程号 权限 命令
/proc: root kernel mount (root)/proc
test 2983 f.... (test)systemd
test 3258 f.... (test)gvfs-udisks2-vo
test 3369 f.... (test)gsd-housekeepin
test 4185 f.... (test)gnome-software
test 4754 f.... (test)gvfsd-trash
test 8735 .rc.. (test)chrome
test 8736 frc.. (test)nacl_helper
5.杀死/home占用home目录的所有进程
$ fuser -mki /home
方法三:pidof
查看某个进程的pid
# pidof qb
11206