diff options
Diffstat (limited to 'sbin/check-port')
-rwxr-xr-x | sbin/check-port | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/sbin/check-port b/sbin/check-port new file mode 100755 index 0000000..34564a9 --- /dev/null +++ b/sbin/check-port @@ -0,0 +1,46 @@ +#!/opt/sunpy3/bin/python3 + +import os +import sys +import socket +import sunhpc.invoke + +class App(sunhpc.core.app.Application): + + def __init__(self, argv): + sunhpc.core.app.Application.__init__(self,argv) + + self.usage_name = 'Check Port' + self.usage_version = '4.2' + self.node_name = 'localhost' + self.port_num = 5901 + + nodehelp = '(nodename default=%s)' % self.node_name + porthelp = '(port number default=%d)' % (self.port_num) + self.getopt.l.extend([ ('node=',nodehelp),('port=',porthelp) ]) + self.getopt.s.extend([('n:',nodehelp),('p:',porthelp)]) + + def parseArg(self, c): + sunhpc.core.app.Application.parseArg(self,c) + + key, val = c + if key in ('--port'): + self.port_num = int(val) + elif key in ('--node'): + self.node_name = val + + def run(self): + s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) + try: + s.connect((self.node_name,self.port_num)) + except: + print ('Port(%s) is closed' % self.port_num) + sys.exit(1) + + print ('Port(%s) is open' % self.port_num) + s.close() + sys.exit(0) + +app = App(sys.argv) +app.parseArgs() +app.run() |