From 84b70ffc02f4503c450619e44b89edb871a4ec8b Mon Sep 17 00:00:00 2001 From: Connor Olding Date: Sun, 6 Dec 2015 12:35:57 -0800 Subject: [PATCH] add screen handling crap --- sh/screeny | 15 +++++++++++++++ sh/unscreen | 11 +++++++++++ 2 files changed, 26 insertions(+) create mode 100755 sh/screeny create mode 100755 sh/unscreen diff --git a/sh/screeny b/sh/screeny new file mode 100755 index 0000000..1c3b193 --- /dev/null +++ b/sh/screeny @@ -0,0 +1,15 @@ +#!/usr/bin/env zsh + +screeny() { + local user="${1:?needs arg for user name}" + shift + home="/home/$user" + pushd "$home" >/dev/null + local name="${1:?needs arg for screen name}" + shift + ~/sh/unscreen "$name" + screen -S "$name" -dm sudo -Hu "$user" "$@" + popd "$home" >/dev/null +} + +screeny "$@" diff --git a/sh/unscreen b/sh/unscreen new file mode 100755 index 0000000..00e9086 --- /dev/null +++ b/sh/unscreen @@ -0,0 +1,11 @@ +#!/usr/bin/env zsh + +unscreen() { + local pids="$(screen -ls | fgrep "$1" | cut -d. -f1)" + for pid in $=pids; do + local ppid="$(ps h --ppid "$pid" -o pid)" + kill "$ppid" + done +} + +unscreen "$@"