zenity test

This commit is contained in:
Alexey Avramov 2019-01-30 19:41:29 +09:00
parent 244044bf3a
commit 5cad925f5f

45
nohang
View File

@ -39,11 +39,28 @@ HR = '~' * 79
# todo: make config option # todo: make config option
print_total_stat = True print_total_stat = True
########################################################################## ##########################################################################
# define functions # define functions
def zenity():
# test
os.system('''sudo -u user DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus zenity --checklist --timeout=10 --text="\n <b>Mem Available: 10% (300 MiB)</b>. \n\n Select a process to be terminated:\n" --ok-label "Terminate" --cancel-label "Do nothing" --separator=" " --width=9999 --height=9999 --list --title="Low memory!" --column "" --column="Pid" --column="Name" --column="VmRSS" 9923 9923 Python3 "800 MiB" 2938 2938 tail "400 MiB" 3938 3938 chromium "300 MiB"''')
# zenity()
def update_stat_dict_and_print(key): def update_stat_dict_and_print(key):
if key not in stat_dict: if key not in stat_dict:
@ -493,6 +510,11 @@ def find_victim_and_send_signal(signal):
if victim_badness >= min_badness: if victim_badness >= min_badness:
# Try to send signal to found victim # Try to send signal to found victim
# Get VmRSS and VmSwap and cmdline of victim process # Get VmRSS and VmSwap and cmdline of victim process
@ -657,6 +679,16 @@ def find_victim_and_send_signal(signal):
str(vm_swap).rjust(len_vm), str(vm_swap).rjust(len_vm),
cmdline) cmdline)
if execute_the_command and signal is SIGTERM and name in etc_dict: if execute_the_command and signal is SIGTERM and name in etc_dict:
command = etc_dict[name] command = etc_dict[name]
exit_status = os.system(etc_dict[name].replace( exit_status = os.system(etc_dict[name].replace(
@ -687,6 +719,10 @@ def find_victim_and_send_signal(signal):
name, name,
command.replace('$PID', pid).replace('$NAME', pid_to_name(pid))) command.replace('$PID', pid).replace('$NAME', pid_to_name(pid)))
else: else:
try: try:
@ -712,6 +748,10 @@ def find_victim_and_send_signal(signal):
key = 'Send \033[35m{}\033[0m to \033[35m{}\033[0m'.format( key = 'Send \033[35m{}\033[0m to \033[35m{}\033[0m'.format(
sig_dict[signal], name) sig_dict[signal], name)
# zenity()
if gui_notifications: if gui_notifications:
send_notify(signal, name, pid) send_notify(signal, name, pid)
@ -732,6 +772,9 @@ def find_victim_and_send_signal(signal):
update_stat_dict_and_print(key) update_stat_dict_and_print(key)
else: else:
response_time = time() - time0 response_time = time() - time0
@ -748,9 +791,11 @@ def find_victim_and_send_signal(signal):
key = 'victim badness < min_badness' key = 'victim badness < min_badness'
update_stat_dict_and_print(key) update_stat_dict_and_print(key)
sleep_after_send_signal(signal) sleep_after_send_signal(signal)
def sleep_after_check_mem(): def sleep_after_check_mem():
"""Specify sleep times depends on rates and avialable memory.""" """Specify sleep times depends on rates and avialable memory."""