fuser, files, and processes
Sometimes you may want to know which process is accessing a particular file or filesystem — for example, if you get a "device is busy" error message. fuser will provide this information.
Basic usage is: fuser filename.txt, which will give you this output:
/home/juliet/filename.txt: 13644 |
/home/juliet/filename.txt: 13644(juliet) |
USER PID ACCESS COMMAND |
The -m switch shows all process accessing the filesystem, which the file is on; or you can simply specify a filesystem rather than a file. So fuser -m /dev/sdb1 output looks like:
/dev/sdb1: 18647c 16875m 7122c 19579m 1606c 7258c 5760c 13644cMost of these processes are accessing the current directory (c), with a couple using shared libraries (m). Use the -v switch, to get more information.
To kill all processes accessing a particular file, use fuser -k filename.txt (add -i for a confirmation message before each kill). You can also use fuser on network ports: fuser -n tcp 21. This will show which process is using port 21 (useful if you get a 'port busy' message).
Comments
Post a Comment