3 # pmlogger gets SIGPIPE if pmlc goes away unexpectedly
5 # Copyright (c) 1995-2002 Silicon Graphics, Inc. All Rights Reserved.
9 echo "QA output created by $seq"
11 # get standard filters
16 signal
=$PCP_BINADM_DIR/pmsignal
17 trap "$sudo rm -f $tmp.*; $sudo $signal -s TERM \$pid; exit" 0 1 2 3 15
19 # just like the kill builtin, just do it quietly
24 (( $sudo $signal $1 )&) >/dev
/null
2>&1
26 echo "_silent_kill: needs 1 arg, not $#"
33 -e 's/[A-Z][a-z][a-z] [A-Z][a-z][a-z] .. /MONTH-DAY /' \
34 -e 's/[0-9][0-9]:[0-9][0-9]:[0-9][0-9] /TIME /' \
35 -e 's/ [12][0-9][0-9][0-9]/ YEAR/'
40 _filter_pmlogger_log \
43 -e '/Error: do_control:/d'
46 # real QA test starts here
47 _start_up_pmlogger
-L -c /dev
/null
-l $tmp.log
$tmp
48 _wait_for_pmlogger
$pid $tmp.log
10
50 cat <<End-of-File >$tmp.cmd
51 pmlc <<E-O-F >>$tmp.out
60 echo "=== start and abort pmlc ==="
62 echo "=== iteration $i ===" >>$tmp.out
63 ( sh
$tmp.cmd
& eval echo '$!' >$tmp.pid
) &
66 pmlc_pid
=`cat $tmp.pid`
67 [ ! -z "$pmlc_pid" ] && _silent_kill
$pmlc_pid
69 have
=`ps $PCP_PS_ALL_FLAGS | $PCP_AWK_PROG '$2 == '"$pmlc_pid"' { print }' \
70 | wc -l | sed -e 's/ *//g'`
71 echo "$have pmlc processes are running"
72 [ $have -gt 0 ] && ps
$PCP_PS_ALL_FLAGS |
grep pmlc |
grep -v grep
74 # ready to accept again on the socket?
81 echo "=== pmlogger log ==="
82 _filter_date
$tmp.log | _filter_errs