Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- import os, sys
- # получаем PID указанного окна
- pid = os.popen('xprop -notype _NET_WM_PID').read().split(' = ')[1].strip()
- # узнаем статус этого PID c помощью ps
- # user 4768 50.0 2.0 575392 167484 pts/0 S 18:11 19:32 /home/user/bin/jackhammer/jackhammer
- parts = os.popen('ps -up {}'.format(pid)).read().split('\n')[1].split(' ')
- parts = [p.strip() for p in parts if p.strip()]
- # ['user', '1306', '0.0', '0.5', '595328', '42912', 'tty1', 'Sl', '17:49', '0:02', 'python2', '/usr/bin/guake']
- # T – Stopped, either by a job control signal or because it is being traced.
- status = parts[7]
- if 'T' in status.upper():
- signal = 18 # start
- msg = 'process {} started'.format(pid)
- else:
- signal = 19 # freeze
- msg = 'process {} freezed'.format(pid)
- # шлем сигнал
- os.system('kill -{} {}'.format(signal, pid))
- # показываем уведомление
- os.system('notify-send -t 2000 "{}"'.format(msg))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement