mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			34 lines
		
	
	
	
		
			835 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
	
		
			835 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| """When called as a script, print a comma-separated list of the open
 | |
| file descriptors on stdout.
 | |
| 
 | |
| Usage:
 | |
| fd_stats.py: check all file descriptors
 | |
| fd_status.py fd1 fd2 ...: check only specified file descriptors
 | |
| """
 | |
| 
 | |
| import errno
 | |
| import os
 | |
| import stat
 | |
| import sys
 | |
| 
 | |
| if __name__ == "__main__":
 | |
|     fds = []
 | |
|     if len(sys.argv) == 1:
 | |
|         try:
 | |
|             _MAXFD = os.sysconf("SC_OPEN_MAX")
 | |
|         except:
 | |
|             _MAXFD = 256
 | |
|         test_fds = range(0, _MAXFD)
 | |
|     else:
 | |
|         test_fds = map(int, sys.argv[1:])
 | |
|     for fd in test_fds:
 | |
|         try:
 | |
|             st = os.fstat(fd)
 | |
|         except OSError as e:
 | |
|             if e.errno == errno.EBADF:
 | |
|                 continue
 | |
|             raise
 | |
|         # Ignore Solaris door files
 | |
|         if not stat.S_ISDOOR(st.st_mode):
 | |
|             fds.append(fd)
 | |
|     print(','.join(map(str, fds)))
 | 
