From 8c76a757aa618ef37485e57269056b19752b6fb9 Mon Sep 17 00:00:00 2001 From: zgrep Date: Tue, 14 Aug 2018 03:00:45 -0400 Subject: [PATCH] I promise this code made sense when I wrote it. Then entropy happened. --- redo | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 redo diff --git a/redo b/redo new file mode 100644 index 0000000..6ceea8d --- /dev/null +++ b/redo @@ -0,0 +1,46 @@ +#!/usr/bin/env python3 + +from sys import argv +from subprocess import check_output as sh + +if len(argv) == 3: + m = argv[1] + q = argv[2] +elif len(argv) != 2: + print('Usage:', argv[0], '') + exit(1) +else: + m = 'sk' + q = argv[1] + +dir = '/home/zgrep/offtopiabday/' + +lines = [] +with open(dir + 'starter') as fh: + for line in fh: + if q in line: + lines.append(line.strip()) + +if 'k' in m or 'r' in m: + modlin = [' '.join(x.split()[:3]) for x in lines] + + pids = [] + out = sh(['ps']).decode().split('\n')[1:] + for line in out: + if any(l in line for l in modlin): + print(line) + pids.append(line.split()[0]) + + if pids and 'k' in m: + print('\nKill the above? (Y/N)') + if input().strip().lower() != 'y': + print('Not killing.') + exit(0) + + for pid in pids: + print('Killing', pid, end='.\n') + sh(['kill', pid]) +if 's' in m: + for line in lines: + print('Starting', line, end='.\n') + sh(line, shell=True)