home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional / OS2PRO194.ISO / os2 / prgramer / rexx / rxsock / killsock.cmd next >
OS/2 REXX Batch file  |  1993-03-10  |  2KB  |  56 lines

  1. /*------------------------------------------------------------------
  2.  * killsock.cmd :
  3.  *------------------------------------------------------------------
  4.  * 08-05-92 originally by Patrick J. Mueller
  5.  *------------------------------------------------------------------*/
  6.  
  7. /*------------------------------------------------------------------
  8.  * get parameters
  9.  *------------------------------------------------------------------*/
  10. parse arg socks
  11.  
  12. if (socks = "") | (socks = "?") then
  13.    Usage()
  14.  
  15. /*------------------------------------------------------------------
  16.  * load function package
  17.  *------------------------------------------------------------------*/
  18. if RxFuncQuery("SockLoadFuncs") then
  19.    do
  20.    rc = RxFuncAdd("SockLoadFuncs","RxSock","SockLoadFuncs")
  21.    rc = SockLoadFuncs()
  22.    end
  23.  
  24. /*------------------------------------------------------------------
  25.  * close each socket
  26.  *------------------------------------------------------------------*/
  27. do i = 1 to words(socks)
  28.    sock = word(socks,i)
  29.  
  30.    if datatype(sock,"W") then
  31.       say "closing" right(sock,5) ":" SockSoClose(sock)
  32.    else
  33.       say sock "is not a valid socket number."
  34. end
  35.  
  36. exit
  37.  
  38. /*------------------------------------------------------------------
  39.  * some simple help
  40.  *------------------------------------------------------------------*/
  41. Usage: procedure
  42.    parse source . . me .
  43.    parse value filespec("name",me) with me "." .
  44.  
  45.    say "usage:"
  46.    say "   " me "<socket> <socket> ..."
  47.    say "is used to close sockets passed as parameters"
  48.    say
  49.    say "where:"
  50.    say "   <socket> - decimal socket number to close"
  51.    say
  52.    say "Convenient for closing sockets after running netstat -s for"
  53.    say "misbehaving applications"
  54.  
  55.    exit
  56.