|
import os |
|
|
|
|
|
class Command(object): |
|
custom_command = [ |
|
'cd' |
|
] |
|
|
|
@staticmethod |
|
def _get_cmd(command): |
|
command = str(command).strip() |
|
if command == '': |
|
return None |
|
cmd_and_args = command.split(sep=' ') |
|
cmd = cmd_and_args[0] |
|
args = ' '.join(cmd_and_args[1:]) |
|
return cmd, args |
|
|
|
@classmethod |
|
def popen(cls, command): |
|
cmd, args = cls._get_cmd(command) |
|
if cmd in cls.custom_command: |
|
method = getattr(cls, cmd) |
|
return method(args) |
|
else: |
|
resp = os.popen(command) |
|
result = resp.read() |
|
resp.close() |
|
return result |
|
|
|
@classmethod |
|
def cd(cls, args): |
|
if args.startswith('/'): |
|
os.chdir(args) |
|
else: |
|
pwd = os.getcwd() |
|
path = os.path.join(pwd, args) |
|
os.chdir(path) |
|
|
|
@classmethod |
|
def system(cls, command): |
|
return os.system(command) |
|
|
|
def __init__(self): |
|
pass |
|
|
|
|
|
def ps_ef_grep(keyword: str): |
|
cmd = 'ps -ef | grep {}'.format(keyword) |
|
rows = Command.popen(cmd) |
|
rows = str(rows).split('\n') |
|
rows = [row for row in rows if row.__contains__(keyword) and not row.__contains__('grep')] |
|
return rows |
|
|