Todo: 集成多平台 解决因SaiNiu线程抢占资源问题 本地提交测试环境打包 和 正式打包脚本与正式环境打包bat 提交Python32环境包 改进多日志文件生成情况修改打包日志细节
This commit is contained in:
34
Utils/PythonNew32/Lib/test/subprocessdata/fd_status.py
Normal file
34
Utils/PythonNew32/Lib/test/subprocessdata/fd_status.py
Normal file
@@ -0,0 +1,34 @@
|
||||
"""When called as a script, print a comma-separated list of the open
|
||||
file descriptors on stdout.
|
||||
|
||||
Usage:
|
||||
fd_status.py: check all file descriptors (up to 255)
|
||||
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, min(_MAXFD, 256))
|
||||
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)))
|
||||
Reference in New Issue
Block a user