1 #!/usr/bin/env python
 2 
 3 import os,time
 4 import array,fcntl,struct,socket
 5 
 6 def check_net():
 7    ifname = "eth1"
 8    buff = array.array('i', [0x0000000a, 0x00000000])
 9    addr, length = buff.buffer_info()
10    arg = struct.pack("Pi", addr, length)
11    data = (ifname + '\0'*16)[:16] + arg
12    sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
13    SIOCETHTOOL = 0x8946
14    try:
15         fcntl.ioctl(sock.fileno(), SIOCETHTOOL, data)
16    except IOError, e:
17         print "check eth1 lined failed , and error is ",str(e)
18         sock.close()
19         return False
20    sock.close()
21    return bool(buff.tolist()[1])
View Code

转源于:http://blog.sina.com.cn/s/blog_a04184c101010kri.html