Advertisement
Guest User

Untitled

a guest
Jan 18th, 2017
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. #!/usr/bin/python3
  2.  
  3. import os, shelve
  4.  
  5. JBOSS_HOME = os.path.expanduser('~/jboss-as-7.2.0.Final')
  6. CACHE = shelve.open(os.path.expanduser('~/.ms_core'), 'c')
  7.  
  8. boot_id = os.popen('who -b').readlines()[0].strip()
  9. if boot_id != CACHE.get('boot_id'):
  10. print('State reset.')
  11. CACHE.update({'boot_id': boot_id})
  12. CACHE.update({'state': []})
  13.  
  14. state = CACHE['state']
  15.  
  16.  
  17. def get_pid(app):
  18. l = os.popen('pgrep -f jboss-modules.jar.*%s' % app).readlines()
  19. if len(l) > 1:
  20. return l[0].strip()
  21.  
  22.  
  23. def start(app):
  24. os.system('nohup %s/bin/standalone-%s.sh > /dev/null 2>&1 &' % (JBOSS_HOME, app))
  25. state.append(app)
  26. print('%s started' % app)
  27.  
  28.  
  29. def stop(app):
  30. pid = get_pid(app)
  31. if pid:
  32. os.system('kill %s' % pid)
  33.  
  34. try:
  35. state.remove(app)
  36. except ValueError:
  37. pass
  38.  
  39. print('%s stopped' % app)
  40. else:
  41. print('%s not running' % app)
  42.  
  43.  
  44. def stopall():
  45. for app in state:
  46. stop(app)
  47.  
  48.  
  49. def parse_apps(cmd):
  50. return cmd.split(' ')[1:]
  51.  
  52.  
  53. while True:
  54. try:
  55. cmd = input('> ').strip().lower()
  56. except:
  57. break
  58.  
  59. if cmd in ['exit', 'quit', 'q']:
  60. break
  61.  
  62. if cmd.startswith('start'):
  63. for app in parse_apps(cmd):
  64. start(app)
  65.  
  66. if cmd.startswith('pid'):
  67. for app in parse_apps(cmd):
  68. pid = get_pid(app)
  69. print(pid)
  70.  
  71. if cmd.startswith('stop'):
  72. for app in parse_apps(cmd):
  73. stop(app)
  74.  
  75. if cmd.startswith('stopall'):
  76. stopall()
  77.  
  78. if cmd == 'state':
  79. print('Current state: ' + str(state))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement