#!/usr/bin/env python3 import os import select path = '/proc/pressure/memory' some_or_full = 'some' stall_amount_in_us = '500' time_window_in_us = '1000000' s = '{} {} {}\n'.format(some_or_full, stall_amount_in_us, time_window_in_us) try: fd = os.open(path, os.O_RDWR | os.O_NONBLOCK, mode=0o777) os.write(fd, s.encode()) epoll = select.epoll() epoll.register(fd, select.POLLPRI) print('waiting for events...') while True: events = epoll.poll(1) if len(events) != 0: print('event triggered!') except Exception as e: print(e) finally: try: os.close(fd) except NameError: pass