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.
|