From 01e71853bf591278ddc176cdbe18657ad0362d93 Mon Sep 17 00:00:00 2001 From: Nathaniel Kenschaft Date: Sat, 13 Jun 2020 22:53:20 -0400 Subject: [PATCH] added possible daemon usage --- BackgroundService/bgservice.py | 8 +++++--- BackgroundService/event_processor.py | 8 ++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/BackgroundService/bgservice.py b/BackgroundService/bgservice.py index 00421ee..61e7d15 100644 --- a/BackgroundService/bgservice.py +++ b/BackgroundService/bgservice.py @@ -7,8 +7,9 @@ import event_processor class SkoolOSDaemon: """Constructor""" - def __init__(self, work_dir): + def __init__(self, work_dir, daemonize): self.work_dir = work_dir + self.daemonize = daemonize self.start_time = None self.end_time = None self.log_file = None @@ -29,9 +30,9 @@ class SkoolOSDaemon: self.__write_pid_file() self.start_time = time.time() self.log_file = open('/tmp/skooloslogs/' + str(self.start_time), 'w') - self.log_file.write("Start time: " + self.readable_time(self.start_time) + "\n") + self.log_file.write("Start time: \n" + self.readable_time(self.start_time) + "\n\n") sys.stdout = self.log_file - event_processor.watch_dir(self.work_dir) + event_processor.watch_dir(self.work_dir, self.daemonize) def stop(self): event_processor.stop_watching() self.end_time = time.time() @@ -48,6 +49,7 @@ def Main(): def signal_handler(signum, frame): logger.stop() signal.signal(signal.SIGINT, signal_handler) + signal.signal(signal.SIGTERM, signal_handler) global logger logger = SkoolOSDaemon("/tmp") logger.start() diff --git a/BackgroundService/event_processor.py b/BackgroundService/event_processor.py index 137fbcb..bed7b70 100644 --- a/BackgroundService/event_processor.py +++ b/BackgroundService/event_processor.py @@ -7,7 +7,7 @@ def readable_time(input_time): class EventProcessor(pyinotify.ProcessEvent): - _methods = ["IN_ACCESS", + _methods = ["IN_OPEN", "IN_CREATE", "IN_CLOSE_WRITE", "IN_DELETE", @@ -18,7 +18,7 @@ class EventProcessor(pyinotify.ProcessEvent): def __method_format(method): return { - "IN_ACCESS":"Accessed a file", + "IN_OPEN":"Accessed a file", "IN_CREATE":"Created a file", "IN_CLOSE_WRITE":"Wrote to a file", "IN_DELETE":"Deleted a file", @@ -51,14 +51,14 @@ def __process_generator(cls, method): EVENT_NOTIFIER = None -def watch_dir(dir_to_watch): +def watch_dir(dir_to_watch, daemonize=False): global EVENT_NOTIFIER for method in EventProcessor._methods: __process_generator(EventProcessor, method) watch_manager = pyinotify.WatchManager() EVENT_NOTIFIER = pyinotify.Notifier(watch_manager, EventProcessor()) watch_manager.add_watch(dir_to_watch, pyinotify.ALL_EVENTS) - EVENT_NOTIFIER.loop()#daemonize=True) + EVENT_NOTIFIER.loop(daemonize=daemonize) def stop_watching():