home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 35 Internet
/
35-Internet.zip
/
sokwatch.zip
/
sockwatch.cmd
< prev
Wrap
OS/2 REXX Batch file
|
2002-01-30
|
1KB
|
50 lines
/* Socket watching */
delay = 300 /* i.e. run every 5 minutes */
Call rxfuncadd 'SysLoadFuncs', 'REXXUTIL', 'SYSLOADFUNCS'
Call sysloadfuncs
wwwsock = 'www-http..80'
wwwserver = 'call ap-start'
mysqlsock = '\socket\MySQL'
mysqlserver = 'call mysql-start'
sshsock = '22'
sshserver = 'start /min /n sshd'
call SysSleep 5
do forever
myqueue = RxQueue('Create')
oldq = RxQueue('Set', myqueue)
'netstat -s | rxqueue' myqueue
www = 0
ssh = 0
mysql = 0
do queued()
parse pull line
ll = translate(line)
if word(ll,1)='LOCAL' & word(ll,2)='NAME' & word(ll,3)='=' then state='LISTEN'
else state = translate(word(line,6))
if state = 'LISTEN' | state = 'ESTABLISHED' then do
sock = word(line,4)
if sock = wwwsock then www = 1
if sock = sshsock then ssh = 1
if sock = mysqlsock then mysql = 1
end
end
moc = RxQueue('Set', oldq)
moc = RxQueue('Delete', myqueue)
if www = 0 then wwwserver
if ssh = 0 then sshserver
if mysql = 0 then mysqlserver
call SysSleep delay
end