From b12114c6c03f2ce9d11a5d2fe894a78861ca05b3 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Sun, 2 Apr 2017 20:00:03 +0200 Subject: original version --- .gitignore | 1 + checkVersions.in | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 .gitignore create mode 100755 checkVersions.in diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5b58b36 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +checkVersions diff --git a/checkVersions.in b/checkVersions.in new file mode 100755 index 0000000..391bb88 --- /dev/null +++ b/checkVersions.in @@ -0,0 +1,53 @@ +#!/bin/bash + +tmpDir="$(mktemp -d)" + +declare -A cmds +declare -A pIDs +declare -A running + +cmds['arch']='ssh nlopc43 eigeneSkripte/archPackages/checkVersions -f -j250' +cmds['crux']='/usr/src/ports/lastVersion.sh' +cmds['debian']='ssh router pakete/checkVersions -f' + +for dist in "${!cmds[@]}" +do + ( ( time ( ${cmds["${dist}"]} &> "${tmpDir}/${dist}" ) ) 2> "${tmpDir}/${dist}.time" || echo "err: $?" >> "${tmpDir}/${dist}" ) & + pIDs["${dist}"]=$! + running["${dist}"]=true +done + +set -o pipefail + +run=true + +while ${run} +do + sleep 1 + run=false + for dist in "${!pIDs[@]}" + do + if ! ps aux | \ + awk '{print $2}' | \ + grep -q "^${pIDs["${dist}"]}\$" + then + running["${dist}"]=false + if [ -s "${tmpDir}/${dist}" ] + then + sleep 1 + echo -n "${dist} (" + grep '^real' "${tmpDir}/${dist}.time" | \ + awk '{print $2"):"}' + cat "${tmpDir}/${dist}" + echo + fi + rm -f "${tmpDir}/${dist}" "${tmpDir}/${dist}.time" + fi + if ${running["${dist}"]} + then + run=true + fi + done +done + +rmdir "${tmpDir}" -- cgit v1.2.3-54-g00ecf