|
|
|
|
|
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 |
|
|
|
|
|
if __name__ == "__main__": |
|
pass |
|
|