file descriptor count


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting file descriptor count
# 1  
Old 10-04-2011
file descriptor count

I am trying to write a script which will only show me the file descriptor count for a process/pid. My script will return me the count only not the whole output. For example, I would like my script to return the output 23 this case, not the whole output.

Can anybody please help me how do I get the last count only?

Thanks in advance who replies.

HTML Code:
pfiles 18877
 
 
............................................. 
............................................ 
............................................ 
20: S_IFSOCK mode:0666 dev:373,0 ino:47575 uid:0 gid:0 size:0
      O_RDWR FD_CLOEXEC
        SOCK_STREAM
        SO_SNDBUF(49152),SO_RCVBUF(49152),IP_NEXTHOP(0.0.192.0)
        sockname: AF_INET 10.66.36.73  port: 40117
        peername: AF_INET 10.66.36.73  port: 41625
23: S_IFSOCK mode:0666 dev:373,0 ino:31179 uid:0 gid:0 size:0
      O_RDWR|O_NONBLOCK
        SOCK_STREAM
          SO_KEEPALIVE,SO_SNDBUF(49152),SO_RCVBUF(49640),IP_NEXTHO     P(0.0.193.232)
        sockname: AF_INET 10.66.36.152  port: 41627
        peername: AF_INET 10.66.36.174  port: 10000
# 2  
Old 10-04-2011
for my process_id "29141"
Code:
$ pfiles 29141 | awk '/file descriptors/ {print $3}'
256
$

# 3  
Old 10-04-2011
Code:
 pfiles $PID | egrep  '[0-9]+: '|wc -l

or using lsof
Code:
echo $(($(lsof -p $PID |wc -l )-1))

# 4  
Old 10-04-2011
Hi Skrynesaver,

I ran your command but it is not giving me right count... pfiles 18877 has count 23 not 22.

Code:
pfiles 18877 | egrep  '[0-9]+: '|wc -l
      22


Moderator's Comments:
Mod Comment Video tutorial on how to use code tags in The UNIX and Linux Forums.

Last edited by Franklin52; 10-04-2011 at 10:18 AM.. Reason: Please use code tags, thank you
# 5  
Old 10-04-2011
All the command is doing is counting the number of lines which begin " nnn: " (ie start of file descriptor record). Are you sure the number of open files is a constant?

Note in the records you posted above that 21 and 22 are not active FDs for the process. Given FD 0 is the starting point, if all the other potential values are used, then you have 22 FDs for the process.
# 6  
Old 10-04-2011
Here is the command I am trying to run, but it is not working as expected.

If I run pfiles 437 it gives me follwing output and I just want to pick 27 from there...so I ran following command but it prints me the last line instead of the number. Can you see what is wrong with my command?

Code:
 
pfiles 437 | nawk '{print $1}' | nawk '/[0-9]/ {field=$NF} END {print field}' | sed 's/://g'

Code:
 
...........................................
..........................................
...........................................
27: S_IFSOCK mode:0666 dev:373,0 ino:52020 uid:0 gid:0 size:0
      O_RDWR FD_CLOEXEC
        SOCK_STREAM
        SO_SNDBUF(49152),SO_RCVBUF(49152),IP_NEXTHOP(0.0.192.0)
        sockname: AF_INET 0.0.0.0  port: 30901

Code:
 
pfiles 437 | nawk '{print $1}' | nawk '/[0-9]/ {field=$NF} END {print field}' | sed 's/://g'
SO_SNDBUF(49152),SO_RCVBUF(49152),IP_NEXTHOP(0.0.192.0)

# 7  
Old 10-04-2011
Try this...
Code:
pfiles 437 | awk -F":" '/^[0-9]*:/{val=$1} END{print val}'

--ahamed

---------- Post updated at 10:54 AM ---------- Previous update was at 10:54 AM ----------

If solaris, please use nawk!

--ahamed
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

redirecting with file descriptor

hello, Someone can help me with redirectors? I am writing this script in bash enviroment on Fedora: exec 4<> /dev/tcp/10.10.11.30/5000 #open socket in input/output strings<&4 >file.txt & I send file descriptor 4 to string command to purge data stream from special char while come from... (3 Replies)
Discussion started by: rattoeur
3 Replies

2. Shell Programming and Scripting

file descriptor KSH

Hello, How can i use file descriptor in a script to read 2 files at the same time and extract line 200 from file 1 and line 500 from file 2. Thanks. (6 Replies)
Discussion started by: LiorAmitai
6 Replies

3. UNIX for Dummies Questions & Answers

File Descriptor

Hi What the below path contains? /proc/<pid>/fd (1 Reply)
Discussion started by: siba.s.nayak
1 Replies

4. Shell Programming and Scripting

File Descriptor

Hello All, Im opening a file desciptor in perl and sending data using print CMD "$xyz". is there a limit to the length of the string that I can give to this CMD at a time. (3 Replies)
Discussion started by: rimser9
3 Replies

5. UNIX for Advanced & Expert Users

File Descriptor Table

Im working on writing a small operating system. I am currently working on implementing dup, dup2, pipe, and close and I need to implement some type of file descriptor table in my PCB. I was wondering if there is anyone who is familiar with linux/unix implementation of these tables who could... (6 Replies)
Discussion started by: Ashaman0
6 Replies

6. Programming

File descriptor constant

I have a requirement to close all the file descriptors from 3 to 1024 for a particular application. Right now, this is how I do it .. for ( int i = 3 ; i <= 1024; ++i ) close(i); The change I am looking at is, I want to do away with the number 1024 and replace it with a constant which... (4 Replies)
Discussion started by: vino
4 Replies

7. Programming

Problems with file descriptor

Hi, look at the following code: The client after estabilishing a connection with the server does the following: if ((peter = fopen(argv, "r")) == NULL){ printf("errore\n"); exit(0); } ... (11 Replies)
Discussion started by: teo
11 Replies

8. UNIX for Dummies Questions & Answers

File Descriptor Help

What is a file descriptor in Unix?? How to find a file descriptor of a file in Unix?? Does it have anything to do with the Inode numbers?? (3 Replies)
Discussion started by: rahulrathod
3 Replies

9. UNIX for Dummies Questions & Answers

file activity (open/closed) file descriptor info using KORN shell scripting

I am trying to find a way to check the current status of a file. Such as some cron job processes are dependent on the completion of others. if a file is currently being accessed / modified or simply open state I will wait until it is done being processed before attempting the next process on that... (3 Replies)
Discussion started by: Gary Dunn
3 Replies

10. UNIX for Dummies Questions & Answers

bad file descriptor?

Ok, I'm sure this is a total newbie question, but I think I'm in the right place, no? I'm trying to call a perl module from a cgi script - Mail::Sendmail - and my web host installed the module in a directory that doesn't seem to be accessible, at least not the way I'm trying. But I thought you... (1 Reply)
Discussion started by: ftb
1 Replies
Login or Register to Ask a Question