Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python3
- import os, shelve
- JBOSS_HOME = os.path.expanduser('~/jboss-as-7.2.0.Final')
- CACHE = shelve.open(os.path.expanduser('~/.ms_core'), 'c')
- boot_id = os.popen('who -b').readlines()[0].strip()
- if boot_id != CACHE.get('boot_id'):
- print('State reset.')
- CACHE.update({'boot_id': boot_id})
- CACHE.update({'state': []})
- state = CACHE['state']
- def get_pid(app):
- l = os.popen('pgrep -f jboss-modules.jar.*%s' % app).readlines()
- if len(l) > 1:
- return l[0].strip()
- def start(app):
- os.system('nohup %s/bin/standalone-%s.sh > /dev/null 2>&1 &' % (JBOSS_HOME, app))
- state.append(app)
- print('%s started' % app)
- def stop(app):
- pid = get_pid(app)
- if pid:
- os.system('kill %s' % pid)
- try:
- state.remove(app)
- except ValueError:
- pass
- print('%s stopped' % app)
- else:
- print('%s not running' % app)
- def stopall():
- for app in state:
- stop(app)
- def parse_apps(cmd):
- return cmd.split(' ')[1:]
- while True:
- try:
- cmd = input('> ').strip().lower()
- except:
- break
- if cmd in ['exit', 'quit', 'q']:
- break
- if cmd.startswith('start'):
- for app in parse_apps(cmd):
- start(app)
- if cmd.startswith('pid'):
- for app in parse_apps(cmd):
- pid = get_pid(app)
- print(pid)
- if cmd.startswith('stop'):
- for app in parse_apps(cmd):
- stop(app)
- if cmd.startswith('stopall'):
- stopall()
- if cmd == 'state':
- print('Current state: ' + str(state))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement