Thread: [Assorted-commits] SF.net SVN: assorted: [188] shell-tools/trunk/src
Brought to you by:
yangzhang
From: <yan...@us...> - 2007-11-20 03:37:43
|
Revision: 188 http://assorted.svn.sourceforge.net/assorted/?rev=188&view=rev Author: yangzhang Date: 2007-11-19 19:37:47 -0800 (Mon, 19 Nov 2007) Log Message: ----------- added exit-status monitoring to daemon-ctl; added memmon Modified Paths: -------------- shell-tools/trunk/src/daemon-ctl.bash Added Paths: ----------- shell-tools/trunk/src/memmon.bash Modified: shell-tools/trunk/src/daemon-ctl.bash =================================================================== --- shell-tools/trunk/src/daemon-ctl.bash 2007-11-19 07:07:47 UTC (rev 187) +++ shell-tools/trunk/src/daemon-ctl.bash 2007-11-20 03:37:47 UTC (rev 188) @@ -1,7 +1,7 @@ #!/usr/bin/env bash # vim:noet:sw=4:ts=4 -# TODO find a real daemonizing tool, instead of using this home-baked one +# TODO check to see if the pid file exists and points to a running process . common.bash @@ -23,6 +23,7 @@ -O ) stdout='' ;; -p ) shift ; pid_file="$1" ;; -t ) shift ; timeout="$1" ;; + -x ) shift ; exit_file="$1" ;; -- ) shift ; break ;; -* ) die "$usage" ;; start | stop | status ) cmd="$1" ; shift ; break ;; @@ -49,28 +50,49 @@ # TODO add option to work with sessions (setsid) to kill all subprocs as well +exit-monitor() { + # start the program + if [[ "$stdout" == '' && "$stderr" == '' ]] ; then + "$@" & + elif [[ "$stdout" != '' && "$stderr" == '' ]] ; then + mkdir -p "$( dirname "$stdout" )" + "$@" > "$stdout" & + elif [[ "$stdout" == '' && "$stderr" != '' ]] ; then + mkdir -p "$( dirname "$stderr" )" + "$@" > "$stderr" & + elif [[ "$stdout" == "$stderr" ]] ; then + mkdir -p "$( dirname "$stdout" )" + $save_exit "$@" >& "$stdout" & + else + mkdir -p "$( dirname "$stdout" )" + mkdir -p "$( dirname "$stderr" )" + "$@" > "$stdout" 2> "$stderr" & + fi + + # inform parent of pid + echo $! > "$pid_pipe" + + # wait around for the program to exit? + if [ ! -z "$exit_file" ] ; then + set +e # wait will return the exit status + wait $! + echo $? > "$exit_file" + set -e + fi +} + case "$cmd" in start ) { - nohup= # TODO keep nohup? - if [[ "$stdout" == '' && "$stderr" == '' ]] ; then - $nohup "$@" & - elif [[ "$stdout" != '' && "$stderr" == '' ]] ; then - mkdir -p "$( dirname "$stdout" )" - $nohup "$@" > "$stdout" & - elif [[ "$stdout" == '' && "$stderr" != '' ]] ; then - mkdir -p "$( dirname "$stderr" )" - $nohup "$@" > "$stderr" & - elif [[ "$stdout" == "$stderr" ]] ; then - mkdir -p "$( dirname "$stdout" )" - $nohup "$@" &> "$stdout" & - else - mkdir -p "$( dirname "$stdout" )" - mkdir -p "$( dirname "$stderr" )" - $nohup "$@" > "$stdout" 2> "$stderr" & - fi - log "started $@, pid = $!, pid file = $pid_file, command = $@" - echo $! > "$pid_file" + # TODO not using mktemp; this is to run on OE + pid_pipe="${TMP:-/tmp}/$$.pipe" + echo "$pid_pipe" + mkfifo "$pid_pipe" + exit-monitor "$@" >& /dev/null & + pid="$( < "$pid_pipe" )" + rm "$pid_pipe" + log "started $@, pid = $pid, pid file = $pid_file, exit file = $exit_file, command = $@" + echo $pid > "$pid_file" } ;; stop ) { Added: shell-tools/trunk/src/memmon.bash =================================================================== --- shell-tools/trunk/src/memmon.bash (rev 0) +++ shell-tools/trunk/src/memmon.bash 2007-11-20 03:37:47 UTC (rev 188) @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +# vim:et:sw=2:ts=2 + +period=${1:-60} + +while true ; do + date + uptime + free -m + vmstat 1 5 + ps auxf --width=200 + sleep 60 +done Property changes on: shell-tools/trunk/src/memmon.bash ___________________________________________________________________ Name: svn:executable + * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <yan...@us...> - 2008-01-11 04:21:45
|
Revision: 224 http://assorted.svn.sourceforge.net/assorted/?rev=224&view=rev Author: yangzhang Date: 2008-01-10 20:21:45 -0800 (Thu, 10 Jan 2008) Log Message: ----------- added setdiff Modified Paths: -------------- shell-tools/trunk/src/bash-commons/common.bash shell-tools/trunk/src/daemon-ctl.bash Modified: shell-tools/trunk/src/bash-commons/common.bash =================================================================== --- shell-tools/trunk/src/bash-commons/common.bash 2008-01-11 03:59:19 UTC (rev 223) +++ shell-tools/trunk/src/bash-commons/common.bash 2008-01-11 04:21:45 UTC (rev 224) @@ -310,6 +310,17 @@ grep -B5 'ANSWER: 0' } +setdiff() { + local a="$( mktemp )" b="$( mktemp )" diff="${3:-diff}" && + sort -u "$1" > "$a" && { + sort -u "$2" > "$b" && { + "$diff" "$a" "$b" + } + rm "$b" + } + rm "$a" +} + persist-fsc() { local output="$(fsc "$@")" || status="$$" Modified: shell-tools/trunk/src/daemon-ctl.bash =================================================================== --- shell-tools/trunk/src/daemon-ctl.bash 2008-01-11 03:59:19 UTC (rev 223) +++ shell-tools/trunk/src/daemon-ctl.bash 2008-01-11 04:21:45 UTC (rev 224) @@ -98,7 +98,6 @@ { pid=$( cat "$pid_file" ) log "stopping pid = $pid, pid file = $pid_file" - indent for i in $( seq 1 "$timeout" ) ; do if ! ps $pid > /dev/null ; then break @@ -109,7 +108,6 @@ kill $pid &> /dev/null || true sleep 1 done - deindent if ps $pid > /dev/null ; then log "Force-killing $pid" kill -9 $pid This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <yan...@us...> - 2008-01-20 06:36:55
|
Revision: 256 http://assorted.svn.sourceforge.net/assorted/?rev=256&view=rev Author: yangzhang Date: 2008-01-19 22:37:00 -0800 (Sat, 19 Jan 2008) Log Message: ----------- added nounset Modified Paths: -------------- shell-tools/trunk/src/bash-commons/common.bash shell-tools/trunk/src/daemon-ctl.bash shell-tools/trunk/src/trash.bash Modified: shell-tools/trunk/src/bash-commons/common.bash =================================================================== --- shell-tools/trunk/src/bash-commons/common.bash 2008-01-20 06:36:17 UTC (rev 255) +++ shell-tools/trunk/src/bash-commons/common.bash 2008-01-20 06:37:00 UTC (rev 256) @@ -4,11 +4,12 @@ # TODO reorganize the functions here # TODO clean up the logging functions -if [[ "$1" != '-n' ]] ; then +if [[ "${1:-}" != '-n' ]] ; then set -o errexit + set -o nounset fi -if [[ $xtrace ]] ; then +if [[ "${xtrace:-}" ]] ; then set -o xtrace fi Modified: shell-tools/trunk/src/daemon-ctl.bash =================================================================== --- shell-tools/trunk/src/daemon-ctl.bash 2008-01-20 06:36:17 UTC (rev 255) +++ shell-tools/trunk/src/daemon-ctl.bash 2008-01-20 06:37:00 UTC (rev 256) @@ -6,7 +6,7 @@ . common.bash usage=" -$command [OPTIONS] COMMAND [OPTIONS] +$cmd_name [OPTIONS] COMMAND [OPTIONS] Options: TODO WRITE OPTIONS " @@ -62,7 +62,7 @@ "$@" > "$stderr" & elif [[ "$stdout" == "$stderr" ]] ; then mkdir -p "$( dirname "$stdout" )" - $save_exit "$@" >& "$stdout" & + ${save_exit:-} "$@" >& "$stdout" & else mkdir -p "$( dirname "$stdout" )" mkdir -p "$( dirname "$stderr" )" @@ -86,7 +86,6 @@ { # TODO not using mktemp; this is to run on OE pid_pipe="${TMP:-/tmp}/$$.pipe" - echo "$pid_pipe" mkfifo "$pid_pipe" exit-monitor "$@" >& /dev/null & pid="$( < "$pid_pipe" )" Modified: shell-tools/trunk/src/trash.bash =================================================================== --- shell-tools/trunk/src/trash.bash 2008-01-20 06:36:17 UTC (rev 255) +++ shell-tools/trunk/src/trash.bash 2008-01-20 06:37:00 UTC (rev 256) @@ -5,11 +5,7 @@ . common.bash -if [[ ! "$TRASHDIR" ]] ; then - TRASHDIR="$HOME/trash" -fi - +: "${TRASHDIR:="$HOME/trash"}" dir="$TRASHDIR/$(date)" - mkdir -p "$dir" mv "$@" "$dir" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <yan...@us...> - 2008-02-29 05:38:48
|
Revision: 529 http://assorted.svn.sourceforge.net/assorted/?rev=529&view=rev Author: yangzhang Date: 2008-02-28 21:38:46 -0800 (Thu, 28 Feb 2008) Log Message: ----------- removed on account of num-utils Removed Paths: ------------- shell-tools/trunk/src/avg.pl shell-tools/trunk/src/sum-nums.pl Deleted: shell-tools/trunk/src/avg.pl =================================================================== --- shell-tools/trunk/src/avg.pl 2008-02-29 03:59:26 UTC (rev 528) +++ shell-tools/trunk/src/avg.pl 2008-02-29 05:38:46 UTC (rev 529) @@ -1,4 +0,0 @@ -#!/usr/bin/env perl -# vim:et:sw=4 - -while (<>) { $sum += $_ ; $cnt += 1; } print $sum/$cnt; Deleted: shell-tools/trunk/src/sum-nums.pl =================================================================== --- shell-tools/trunk/src/sum-nums.pl 2008-02-29 03:59:26 UTC (rev 528) +++ shell-tools/trunk/src/sum-nums.pl 2008-02-29 05:38:46 UTC (rev 529) @@ -1,4 +0,0 @@ -#!/usr/bin/env perl -# vim:et:sw=4 - -while (<>) { $sum += $_ ; } print $sum; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |