From d2048398c21d27e281cf5c9c78adf091b0bd01b1 Mon Sep 17 00:00:00 2001 From: Siarhei Siniak Date: Thu, 20 Jan 2022 12:11:40 +0300 Subject: [PATCH] [~] Refactor --- dotfiles/.local/bin/commands | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/dotfiles/.local/bin/commands b/dotfiles/.local/bin/commands index 556513d..0775101 100755 --- a/dotfiles/.local/bin/commands +++ b/dotfiles/.local/bin/commands @@ -16,7 +16,7 @@ def player_metadata(): except: continue -def eternal_oom(): +def eternal_oom(memory_limit=None): import signal import os import re @@ -25,6 +25,9 @@ def eternal_oom(): import subprocess import pprint self_pid = os.getpid() + if memory_limit is None: + memory_limit = 3 * 1024 * 1024 + assert isinstance(memory_limit, int) and memory_limit < 6 * 1024 * 1024 def pandas_data_frame(lines, groups_regex, header_regex, extra_columns): header = re.compile(header_regex).search(lines[0]).groups() @@ -197,7 +200,7 @@ def eternal_oom(): lambda row: row['PID_x'] != self_pid and not 'freelancer' in row['COMMAND_y'] ) t4 = lambda : os.kill(t9['PID_x'][0], signal.SIGKILL) - t10 = lambda : mem_used > 3 * 1024 * 1024 + t10 = lambda : mem_used > memory_limit if t10(): pprint.pprint([ 'Killing', @@ -485,7 +488,9 @@ try: grim -g "$(slurp)" - | wl-copy ''', shell=True) elif sys.argv[1] == 'eternal-oom': - eternal_oom() + eternal_oom( + memory_limit=json.loads(sys.argv[2]), + ) elif sys.argv[1] == 'resilient-vlc': resilient_vlc(sys.argv[2:]) elif sys.argv[1] == 'eternal-firefox':