Advertisement
Guest User

TOR init.d style script for OS/2 (eComStation)

a guest
Jan 11th, 2014
394
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Rexx 1.30 KB | None | 0 0
  1. /* TOR runner */
  2. call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
  3. call 'SysLoadFuncs'
  4.  
  5. PARSE UPPER ARG param
  6. curdir = directory()
  7. newdir = directory('C:\tcpip\services\TOR\bin')
  8. PIDFile = 'D:\var\pid\tor.pid'
  9.  
  10. SELECT
  11.  WHEN param = 'START' | param = 'STOP' | param = 'RESTART' THEN
  12.       DO
  13.          param = 'result = '||param||'()'
  14.          interpret param
  15.       END
  16.  OTHERWISE
  17.  result = 'Valid parameters is: START STOP RESTART'
  18. END
  19. say result
  20. call directory curdir
  21. exit
  22.  
  23. START: PROCEDURE EXPOSE PIDFile
  24. IF STREAM(PIDFile, 'C', 'query exists') \= PIDFile THEN
  25.    DO
  26.       '@detach tor.exe -f /tcpip/services/TOR/etc/tor/torrc > nul 2>&1'
  27.       call SysSleep 3
  28.       res = 'TOR succesfull running as PID: '||linein(PIDFile)
  29.    END
  30. ELSE
  31.      DO
  32.         res = 'TOR already running! PID: '||linein(PIDFile)
  33.      END
  34. call stream PIDFile, 'C', 'close'
  35. return res
  36.  
  37. STOP: PROCEDURE EXPOSE PIDFile
  38. IF STREAM(PIDFile, 'C', 'query exists') = PIDFile THEN
  39.    DO
  40.       call stream PIDFile, 'C', 'close'
  41.       '@so kill 'linein(PIDFile)' > nul 2>&1'
  42.       call SysSleep 3
  43.       rc = SysFileDelete(PIDFile)
  44.       res ='TOR stopping result is: 'rc
  45.    END
  46. ELSE res = 'TOR is not running!'
  47. return res
  48.  
  49. RESTART: PROCEDURE EXPOSE PIDFile
  50. res = STOP()
  51. res = res||X2C('0D 0A')||START()
  52. return res
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement