Visit Our UNIX and Linux User Community

Top Forums UNIX for Dummies Questions & Answers Finding processes on another system that have a file open Post 302844241 by Special_K on Saturday 17th of August 2013 03:56:37 PM
Old 08-17-2013
Originally Posted by RudiC
Why do you suspect a process holding a file open when your list is empty?

If there are open files, there must be process(es) on the local side holding the files open; it might be children (or so) of the NFS daemon. Did you check the NFS log files?
I suspect a process holding a file open because the directory has a .nfs################# (the #'s are random numbers) file in it and won't let me delete it because the file is in use.

My understanding was that using the lsof or fuser commands would let me see what process has that directory/file open.
Test Your Knowledge in Computers #970
Difficulty: Medium
The Android operating system includes the Linux kernel.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to obtain system open file table value in Linux

Hello , I want to get current system open file table value. Can any one help. Thanking you, mahesh (0 Replies)
Discussion started by: mahesh.
0 Replies

2. UNIX for Dummies Questions & Answers

Finding unix file system

Hi, I have here a hard drive from a computer that was damaged, and now the costumer needs the data on the hard drive, but doesn't have any other computer to read data. I don't really know what file system is on the disk. How can I find out what file system is on the disk so I can read the... (4 Replies)
Discussion started by: dmarques
4 Replies

3. UNIX for Dummies Questions & Answers

Finding out which file system a machine has

Hi, when I run sfdisk -l get: Disk /dev/sda: 19452 cylinders, 255 heads, 63 sectors/track Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0 Device Boot Start End #cyls #blocks Id System /dev/sda1 * 0+ 12 13- 104391 83 Linux... (1 Reply)
Discussion started by: mojoman
1 Replies

4. Solaris

Finding most busy file system

Hi Experts, I was asked to find most busy file system on one of the server. It is Sun 10. Any idea to get this? Thanks, Deepak (5 Replies)
Discussion started by: naw_deepak
5 Replies

5. Shell Programming and Scripting

Finding the age of a unix process, killing old processes, killing zombie processes

I had issues with processes locking up. This script checks for processes and kills them if they are older than a certain time. Its uses some functions you'll need to define or remove, like slog() which I use for logging, and is_running() which checks if this script is already running so you can... (0 Replies)
Discussion started by: sukerman
0 Replies

6. UNIX for Advanced & Expert Users

AIX: Finding processes attached to shared memory

Is there some way to tell what processes are attached to a shared memory segment? We have a system on which I perform "icps -ma" and there are several segments pending deletion having numerous processes attached to them and I can't tell what processes they are. Neither the creator's pid nor last... (7 Replies)
Discussion started by: DreamWarrior
7 Replies

7. Shell Programming and Scripting

Discrepancy in finding the top memory consuming processes

When I run 'top' command,I see the following Memory: 32G real, 12G free, 96G swap free Though it shows as 12G free,I am not able to account for processes that consume the rest 20G. In my understanding some process should be consuming atleast 15-16 G but I am not able to find them. Is... (1 Reply)
Discussion started by: prasperl
1 Replies

8. Shell Programming and Scripting

Quick question about finding the PID of long-running processes

The end result that I'd like is to terminate any process on my ps -u username list that extends beyond 20 minutes. I know for a fact that this process will be named l.exe, but I don't know the number in between and I won't know the PID. Is there a way to use grep or pidof to do this task every 20... (2 Replies)
Discussion started by: Bolanok
2 Replies

9. UNIX for Dummies Questions & Answers

Finding the most memory consuming processes in Linux

Platform: Oracle Linux 6.4 To find the most memory consuming processes, I tried the following 2 methods 1. Method1 # ps aux | head -1 ; ps aux | sort -nk +4 | tail -7 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 95 0.0 0.0 0 0 ? ... (2 Replies)
Discussion started by: kraljic
2 Replies

10. Solaris

Solaris zones - checking processes and lofs file system

Hi all, q1) If i am in a global-zone, is there any command or anyway to check if a particular process in "ps -ef" output is running in which zone ? q2) if i have created and mount a lofs filesystem/mountpoint for my non-global zone, can i say the following e.g. /dev/md/dsk/d60 /data --... (1 Reply)
Discussion started by: javanoob
1 Replies
FUSER(1)                                                           User Commands                                                          FUSER(1)

fuser - identify processes using files or sockets SYNOPSIS
fuser [-fuv] [-a|-s] [-4|-6] [-c|-m|-n space] [ -k [-i] [-M] [-w] [-SIGNAL] ] name ... fuser -l fuser -V DESCRIPTION
fuser displays the PIDs of processes using the specified files or file systems. In the default display mode, each file name is followed by a letter denoting the type of access: c current directory. e executable being run. f open file. f is omitted in default display mode. F open file for writing. F is omitted in default display mode. r root directory. m mmap'ed file or shared library. . Placeholder, omitted in default display mode. fuser returns a non-zero return code if none of the specified files is accessed or in case of a fatal error. If at least one access has been found, fuser returns zero. In order to look up processes using TCP and UDP sockets, the corresponding name space has to be selected with the -n option. By default fuser will look in both IPv6 and IPv4 sockets. To change the default, behavior, use the -4 and -6 options. The socket(s) can be specified by the local and remote port, and the remote address. All fields are optional, but commas in front of missing fields must be present: [lcl_port][,[rmt_host][,[rmt_port]]] Either symbolic or numeric values can be used for IP addresses and port numbers. fuser outputs only the PIDs to stdout, everything else is sent to stderr. OPTIONS
-a, --all Show all files specified on the command line. By default, only files that are accessed by at least one process are shown. -c Same as -m option, used for POSIX compatibility. -f Silently ignored, used for POSIX compatibility. -k, --kill Kill processes accessing the file. Unless changed with -SIGNAL, SIGKILL is sent. An fuser process never kills itself, but may kill other fuser processes. The effective user ID of the process executing fuser is set to its real user ID before attempting to kill. -i, --interactive Ask the user for confirmation before killing a process. This option is silently ignored if -k is not present too. -I, --inode For the name space file let all comparisions be based on the inodes of the specified file(s) and never on the file names even on network based file systems. -l, --list-signals List all known signal names. -m NAME, --mount NAME NAME specifies a file on a mounted file system or a block device that is mounted. All processes accessing files on that file system are listed. If a directory file is specified, it is automatically changed to NAME/. to use any file system that might be mounted on that directory. -M, --ismountpoint Request will be fulfilled only if NAME specifies a mountpoint. This is an invaluable seatbelt which prevents you from killing the machine if NAME happens to not be a filesystem. -w Kill only processes which have write access. This option is silently ignored if -k is not present too. -n SPACE, --namespace SPACE Select a different name space. The name spaces file (file names, the default), udp (local UDP ports), and tcp (local TCP ports) are supported. For ports, either the port number or the symbolic name can be specified. If there is no ambiguity, the shortcut nota- tion name/space (e.g. 80/tcp) can be used. -s, --silent Silent operation. -u and -v are ignored in this mode. -a must not be used with -s. -SIGNAL Use the specified signal instead of SIGKILL when killing processes. Signals can be specified either by name (e.g. -HUP)orby number (e.g. -1). This option is silently ignored if the -k option is not used. -u, --user Append the user name of the process owner to each PID. -v, --verbose Verbose mode. Processes are shown in a ps-like style. The fields PID, USER and COMMAND are similar to ps. ACCESS shows how the process accesses the file. Verbose mode will also show when a particular file is being accessed as a mount point, knfs export or swap file. In this case kernel is shown instead of the PID. -V, --version Display version information. -4, --ipv4 Search only for IPv4 sockets. This option must not be used with the -6 option and only has an effect with the tcp and udp names- paces. -6, --ipv6 Search only for IPv6 sockets. This option must not be used with the -4 option and only has an effect with the tcp and udp names- paces. - Reset all options and set the signal back to SIGKILL. FILES
/proc location of the proc file system EXAMPLES
fuser -km /home kills all processes accessing the file system /home in any way. if fuser -s /dev/ttyS1; then :; else something; fi invokes something if no other process is using /dev/ttyS1. fuser telnet/tcp shows all processes at the (local) TELNET port. RESTRICTIONS
Processes accessing the same file or file system several times in the same way are only shown once. If the same object is specified several times on the command line, some of those entries may be ignored. fuser may only be able to gather partial information unless run with privileges. As a consequence, files opened by processes belonging to other users may not be listed and executables may be classified as mapped only. fuser cannot report on any processes that it doesn't have permission to look at the file descriptor table for. The most common time this problem occurs is when looking for TCP or UDP sockets when running fuser as a non-root user. In this case fuser will report no access. Installing fuser SUID root will avoid problems associated with partial information, but may be undesirable for security and privacy rea- sons. udp and tcp name spaces, and UNIX domain sockets can't be searched with kernels older than 1.3.78. Accesses by the kernel are only shown with the -v option. The -k option only works on processes. If the user is the kernel, fuser will print an advice, but take no action beyond that. BUGS
fuser -m /dev/sgX will show (or kill with the -k flag) all processes, even if you don't have that device configured. There may be other devices it does this for too. The mount -m option will match any file within the same device as the specified file, use the -M option as well if you mean to specify only the mount point. SEE ALSO
kill(1), killall(1), lsof(8), pkill(1), ps(1), kill(2). psmisc 2016-04-04 FUSER(1)

Featured Tech Videos

All times are GMT -4. The time now is 07:34 PM.
Unix & Linux Forums Content Copyright 1993-2021. All Rights Reserved.
Privacy Policy