: $Workfile:   kixsnap.sh  $ $Revision:   1.9  $
#! /bin/sh
#**********************************************************************#
#*                                                                    *#
#* Copyright (c) 2001 by Sun Microsystems, Inc.                       *#
#* All rights reserved.                                               *#
#*                                                                    *#
#**********************************************************************#

CP="/bin/cp -p"
RM="/bin/rm -f"
RMDIR=/bin/rmdir
KIXSNAP="kixsnap"
EBMSNAP="ebmsnap"
KIXDEBUGDIRECTORY=$KIXSYS/debugkix
OUTDIRR=""

set -- `getopt d: $*`

while [ "$1" != "--" ]
do
    if [ "$1" = "-d" ]
    then
	shift
	if [ -d $1 ]
	then
	    if [ -w $1 ]
	    then
		OUTDIRR=$1
	    else
		echo "Directory " $1 " specified in -d option exists but is not writable"
		echo "Ignoring -d option"
	    fi
	else
	    mkdir -p -m 777 $1
	    if [ "$?" != 0 ]
	    then
		echo "Directory " $1 " specified in -d option could not be created"
		echo "Ignoring -d option"
	    else
		OUTDIRR=$1
	    fi
	fi
    else
	echo "$KIXSNAP encountered an illegal option "
	exit 1
    fi
    shift
done

if [ "$OUTDIRR" = "" ]
then
    if [ -n "$KIXSNAPDIR" ]
    then
	if [ -d $KIXSNAPDIR ]
	then
	    if [ -w $KIXSNAPDIR ]
	    then
		OUTDIRR=$KIXSNAPDIR
	    else
		echo "Directory " $KIXSNAPDIR " exists but is not writable"
		echo "Ignoring environment variable setting for KIXSNAPDIR"
	    fi
	else
	    mkdir -p -m 777 $KIXSNAPDIR
	    if [ "$?" != 0 ]
	    then
		echo "Directory " $KIXSNAPDIR " could not be created"
		echo "Ignoring environment variable setting for KIXSNAPDIR"
	    else
		OUTDIRR=$KIXSNAPDIR
	    fi
	fi
    fi
fi

if [ "$OUTDIRR" = "" ]
then
    if [ -d $KIXDEBUGDIRECTORY ]
    then
	if [ -w $KIXDEBUGDIRECTORY ]
	then
	    OUTDIRR=$KIXDEBUGDIRECTORY
	else
	    echo "Directory " $KIXDEBUGDIRECTORY " exists but is not writable"
        fi
    fi
fi

if [ "$OUTDIRR" = "" ]
then
    OUTDIRR=$KIXSYS
fi


#
# Figure out if we are on NT or UNIX
#

OS_PLATFORM=`uname -s`

# set proc commands based on OS

if [ "$OS_PLATFORM" = "AIX" ]
then
	PDIR=/usr/bin
	PTREE=$PDIR/proctree
	PSTACK=$PDIR/procstack
	PMAPPID=$PDIR/procmap
	PSIG=$PDIR/procsig
	PFILES=$PDIR/procfiles
	PLDD=$PDIR/procldd
	SVMON="$PDIR/svmon -l -P"

# always presume Solaris if not = AIX
else
	PDIR=/usr/proc/bin
	PTREE=$PDIR/ptree
	PSTACK=$PDIR/pstack
	PMAP=$PDIR/pmap
	PMAPPID="$PMAP -x"
	PSIG=$PDIR/psig
	PFILES=$PDIR/pfiles
	PLDD=$PDIR/pldd
	SVMON=""
fi

###################################################################
# execute commands (arg2 + arg4) for all pids in ptree of pid (arg1)
# arg 1 - pid
# arg 2 - command
# arg 3 - filename extension
# arg 4 - second optional command (aix pmap)
###################################################################

for_all_ptree()
{
AWKCODE='{ print "'$2' "$1";' > $NULL_DEVICE 2>> $NULL_DEVICE
if [ "$4" != "" ]
then
   AWKCODE=$AWKCODE$4' "$1";' > $NULL_DEVICE 2>> $NULL_DEVICE
fi
AWKCODE=$AWKCODE'echo" } ' > $NULL_DEVICE 2>> $NULL_DEVICE
echo $AWKCODE > $OUTFILEDIR.$3.$$.awk 2>> $NULL_DEVICE
$PTREE $1 2>> $NULL_DEVICE| $AWK -f $OUTFILEDIR.$3.$$.awk > $OUTFILEDIR.$3.$$ 2>> $NULL_DEVICE
. $OUTFILEDIR.$3.$$ > $OUTFILEDIR/$OUTFILENAME.$3 2>> $OUTFILEDIR/$OUTFILENAME.$3
$RM $OUTFILEDIR.$3.$$.awk > $NULL_DEVICE 2>> $NULL_DEVICE
$RM $OUTFILEDIR.$3.$$ > $NULL_DEVICE 2>> $NULL_DEVICE
}


TIMESTAMP=`date '+%m%d_%H%M%S'`
OUTFILENAME="snapshot.$TIMESTAMP"
OUTFILEDIR="$OUTDIRR/$OUTFILENAME"
OUTFILE="$OUTFILEDIR/$OUTFILENAME.info.txt"

#make the directory for the kixsnap
#if mkdir failed do not write out any snapshot (probably already exists!)
mkdir $OUTFILEDIR
if [ "$?" != 0 ]
then
        exit $?
fi

if [ "$OS_PLATFORM" = "Windows_NT" ]
then
    NT_OUTFILE=`expr $OUTFILE | sed 's#\\\\#/#g'`
    OUTFILE="$NT_OUTFILE"
    AWK='awk'
    NULL_DEVICE=NUL
else
    AWK='nawk'
    NULL_DEVICE=/dev/null
fi

sh -c "$AWK ' '" 1>$NULL_DEVICE 2>&1 || AWK="awk"
PS='/bin/ps -ealf'
if [ `uname -s` = "SunOS" ]
then 
    if [ `uname -r` -lt 5 ]
    then 
	PS='ps -aegxuw'
     fi
fi

#use zip if found, else tar and gzip, else tar and compress
type zip > $NULL_DEVICE 2>> $NULL_DEVICE
if [ "$?" = 0 ] 
then
        COMPRESS="zip"
        OUTMSG="Writing snapshot to $OUTFILEDIR.zip"
else
        type gzip > $NULL_DEVICE 2>> $NULL_DEVICE
        if [ "$?" = 0 ]
        then
                COMPRESS="gzip"
                OUTMSG="Writing snapshot to $OUTFILEDIR.tar.gz"
        else
                COMPRESS="compress"
                OUTMSG="Writing snapshot to $OUTFILEDIR.tar.Z"
        fi
fi

#display a the message to both stdout and unikixmain.log file
echo "$OUTMSG"
kixlog "$OUTMSG" > $NULL_DEVICE 2>> $NULL_DEVICE

touch $OUTFILE || exit 1
chmod 200 $OUTFILE
if [ -f $KIXSYS/core ]
then
	kixlog -e "The following core file exists and will be renamed." > $NULL_DEVICE 2>> $NULL_DEVICE
	kixlog -e "`ls -l $KIXSYS/core`" > $NULL_DEVICE 2>> $NULL_DEVICE
	kixlog -e "$KIXSYS/core renamed to $KIXSYS/core.$TIMESTAMP" > $NULL_DEVICE 2>> $NULL_DEVICE
	CORE_NAME=$KIXSYS/core.$TIMESTAMP > $NULL_DEVICE 2>> $NULL_DEVICE
	mv $KIXSYS/core $CORE_NAME > $NULL_DEVICE 2>> $NULL_DEVICE
fi


#unikixmain's pid
MAINPID=`grep "of type m  started" $KIXSYS/unikixmain.log|tail -1|cut -f7 -d' '`

TITLE=    
sep () {
echo " " ;
echo "********************************************************************";
echo $TITLE ;
echo " " ;
       }
(
echo "Snapshot taken at "`date`
TITLE="VERSION file contents";sep
sed '/^-----/q' $UNIKIX/VERSION
TITLE="uname -a";sep
uname -a
TITLE="hostid";sep
hostid
TITLE="Micro Focus cobver file contents";sep
#
# cobver file is in different locations depending on product
# UNIX object cobol  @ $COBDIR
# UNIX ServerExpress @ $COBDIR/etc
# NT   NetExpress    @ $COBDIR - we'll leave the NT check in place even though
#				 it's now in the same location as UNIX object
#				 cobol. NT object cobol had an expr clause that
#				 doesn't appear to be needed anymore.
#
if [ "$OS_PLATFORM" = "Windows_NT" ]
then
     cat $COBDIR/cobver
else
    if [ -f $COBDIR/cobver ]
    then
        cat $COBDIR/cobver
    else
        if [ -f $COBDIR/etc/cobver ]
        then
            cat $COBDIR/etc/cobver
        else
            echo "Unable to locate cobver file - check COBDIR env variable"
        fi
    fi
fi

TITLE="environment variables";sep
env
TITLE="type as ld cc";sep
if [ "$OS_PLATFORM" = "Windows_NT" ]
then
    echo "Type Information Not Available on NT"
else
    type as cc ld
fi
if [ -f ORACLE_HOME/unix.prd ]
then
	TITLE="Oracle unix.prd file contents";sep
        cat $ORACLE_HOME/unix.prd
fi

if [ "$OS_PLATFORM" != "AIX" ]
then
   if [ "$CORE_NAME" != "" ] 
      then
	TITLE="$PSTACK $CORE_NAME";sep
	$PSTACK $CORE_NAME
	TITLE="$PMAP $CORE_NAME";sep
	$PMAP $CORE_NAME
   fi
fi

if [ "$MAINPID" != "" ]
   then
        TITLE="$PTREE unikixmain";sep
        $PTREE $MAINPID
fi

TITLE="1st ps -eaf at `date`";sep
$PS | sed -n '1p'
$PS | sort | 
	$AWK '{
              if ($1 != psarg) { printf("\n") }
              print $0
              psarg=$1
	}'
TITLE="df -k";sep
df -k
TITLE="ipcs -a";sep
ipcs -a
TITLE="kixdump -Ss";sep
kixdump -Ss
TITLE="kixdump -Si";sep
kixdump -Si
TITLE="kixdump -Su";sep
kixdump -Su
TITLE="kixdump -Sc";sep
kixdump -Sc
TITLE="kixdump -Sv";sep
kixdump -Sv
TITLE="kixdump -Sw -St";sep
kixdump -Sw -St
TITLE="kixdump -Se ";sep
kixdump -Se
TITLE="kixdump -M";sep
kixdump -M
TITLE="kixdump -svalidate";sep
kixdump -svalidate
TITLE="kixdump -Sp";sep
kixdump -Sp
TITLE="kixdump -Sq";sep
kixdump -Sq
TITLE="kixdump -Sf";sep
kixdump -Sf
TITLE="kixdump -Sr";sep
kixdump -Sr
TITLE="kixdump -q";sep
kixdump -q
TITLE="1st kixdump -u";sep
kixdump -u
sleep 1
TITLE="2nd kixdump -u";sep
kixdump -u
sleep 1
TITLE="3rd kixdump -u";sep
kixdump -u
sleep 1
TITLE="4th kixdump -u";sep
kixdump -u
TITLE="2nd ps -eaf at `date`";sep
$PS | sed -n '1p'
$PS | sort | 
	$AWK '{
              if ($1 != psarg) { printf("\n") }
              print $0
              psarg=$1
	}'
TITLE="END OF FILE";sep
chmod 660 $OUTFILE
) >> $OUTFILE 2>> $NULL_DEVICE


#copy individual files to directory
$CP $KIXSYS/.unikixrc      	$OUTFILEDIR/DOTunikixrc > $NULL_DEVICE 2>> $NULL_DEVICE
$CP $KIXSYS/unikixrc.cfg   	$OUTFILEDIR > $NULL_DEVICE 2>> $NULL_DEVICE
$CP $KIXSYS/*.tbl          	$OUTFILEDIR > $NULL_DEVICE 2>> $NULL_DEVICE
$CP $KIXSYS/CATALOG.*     	$OUTFILEDIR > $NULL_DEVICE 2>> $NULL_DEVICE
$CP $KIXSYS/BATCHSHELL*    	$OUTFILEDIR > $NULL_DEVICE 2>> $NULL_DEVICE
$CP $KIXSYS/unikixtcp.trace.*	$OUTFILEDIR > $NULL_DEVICE 2>> $NULL_DEVICE
$CP $KIXSYS/tnenterexit.*	$OUTFILEDIR > $NULL_DEVICE 2>> $NULL_DEVICE
$CP $KIXSYS/DFHUSD.dta		$OUTFILEDIR > $NULL_DEVICE 2>> $NULL_DEVICE
$CP $KIXSYS/DFHUSD.idx		$OUTFILEDIR > $NULL_DEVICE 2>> $NULL_DEVICE
$CP $UNIKIX/src/trans/kxusrexit.c $OUTFILEDIR > $NULL_DEVICE 2>> $NULL_DEVICE
$CP /tmp/kixinstall.log.*	$OUTFILEDIR > $NULL_DEVICE 2>> $NULL_DEVICE
$CP /etc/system			$OUTFILEDIR/etc_system.txt > $NULL_DEVICE 2>> $NULL_DEVICE


#copy latest TRACE*.dmp files (anything younger than TRACE0000.dmp)
cd $OUTDIRR > $NULL_DEVICE 2>> $NULL_DEVICE
ls -1tr TRACE*.dmp 2>> $NULL_DEVICE|
	$AWK '{if ($0 == "TRACE0000.dmp")
		  x=1;
	       if (x==1)
		  print $0;}' > $OUTFILEDIR/dumplist.$$ 2>>$NULL_DEVICE
for i in `cat $OUTFILEDIR/dumplist.$$`
  do
     $CP $i $OUTFILEDIR > $NULL_DEVICE 2>> $NULL_DEVICE
  done > $NULL_DEVICE 2>> $NULL_DEVICE
$RM $OUTFILEDIR/dumplist.$$ > $NULL_DEVICE 2>> $NULL_DEVICE


#ls of $KIXSYS and $UNIKIX
(
TITLE="ls -lRaF \$KIXSYS $KIXSYS";sep
ls -lRa $KIXSYS 
TITLE="ls -lRaF \$UNIKIX $UNIKIX";sep
cd $UNIKIX
for i in `ls -1 |grep -v unikix` 
  do 
     ls -lRaF $i 
  done 
) > $OUTFILEDIR/$OUTFILENAME.ls.txt 2>> $OUTFILEDIR/$OUTFILENAME.ls.txt


#kixdump dumps to individual files
kixdump -Eall -o $OUTFILEDIR/$OUTFILENAME.trace > $NULL_DEVICE 2>> $NULL_DEVICE
kixdump -v > $OUTFILEDIR/$OUTFILENAME.vsam.txt 2>> $OUTFILEDIR/$OUTFILENAME.vsam.txt
kixdump -A > $OUTFILEDIR/$OUTFILENAME.asyncq.txt 2>> $OUTFILEDIR/$OUTFILENAME.asyncq.txt
kixdump -r gva -o $OUTFILEDIR/$OUTFILENAME.gva.struct > $NULL_DEVICE 2>> $NULL_DEVICE
kixdump -r users -o $OUTFILEDIR/$OUTFILENAME.users.struct > $NULL_DEVICE 2>> $NULL_DEVICE
kixdump -r gta -o $OUTFILEDIR/$OUTFILENAME.gta.struct > $NULL_DEVICE 2>> $NULL_DEVICE
kixdump -r fct -o $OUTFILEDIR/$OUTFILENAME.fct.struct > $NULL_DEVICE 2>> $NULL_DEVICE
kixdump -r pct -o $OUTFILEDIR/$OUTFILENAME.pct.struct > $NULL_DEVICE 2>> $NULL_DEVICE
kixdump -r ppt -o $OUTFILEDIR/$OUTFILENAME.ppt.struct > $NULL_DEVICE 2>> $NULL_DEVICE
kixdump -r ist -o $OUTFILEDIR/$OUTFILENAME.ist.struct > $NULL_DEVICE 2>> $NULL_DEVICE
kixdump -r jct -o $OUTFILEDIR/$OUTFILENAME.jct.struct > $NULL_DEVICE 2>> $NULL_DEVICE
kixdump -r skt -o $OUTFILEDIR/$OUTFILENAME.skt.struct > $NULL_DEVICE 2>> $NULL_DEVICE
kixdump -r mq -o $OUTFILEDIR/$OUTFILENAME.mq.struct > $NULL_DEVICE 2>> $NULL_DEVICE
kixdump -r sit -o $OUTFILEDIR/$OUTFILENAME.sit.struct > $NULL_DEVICE 2>> $NULL_DEVICE
kixdump -r dct -o $OUTFILEDIR/$OUTFILENAME.dct.struct > $NULL_DEVICE 2>> $NULL_DEVICE
kixdump -r tst -o $OUTFILEDIR/$OUTFILENAME.tst.struct > $NULL_DEVICE 2>> $NULL_DEVICE
kixdump -r vct -o $OUTFILEDIR/$OUTFILENAME.vct.struct > $NULL_DEVICE 2>> $NULL_DEVICE
kixdump -r snt -o $OUTFILEDIR/$OUTFILENAME.snt.struct > $NULL_DEVICE 2>> $NULL_DEVICE
kixdump -r plt -o $OUTFILEDIR/$OUTFILENAME.plt.struct > $NULL_DEVICE 2>> $NULL_DEVICE
kixdump -r cvt -o $OUTFILEDIR/$OUTFILENAME.cvt.struct > $NULL_DEVICE 2>> $NULL_DEVICE
kixdump -r txc -o $OUTFILEDIR/$OUTFILENAME.txc.struct > $NULL_DEVICE 2>> $NULL_DEVICE


#pstack of ptree pids
for_all_ptree $MAINPID "$PSTACK" "pstack.txt" 

#pmap of ptree pids
for_all_ptree $MAINPID "$PMAPPID" "pmap.txt" "$SVMON"

#psig of ptree pids
for_all_ptree $MAINPID "$PSIG" "psig.txt" 

#pfiles of ptree pids
for_all_ptree $MAINPID "$PFILES" "pfiles.txt" 

#plld of ptree pids
for_all_ptree $MAINPID "$PLDD" "pldd.txt" 


#prtdiag output for Solaris
if [ "$OS_PLATFORM" != "AIX" ]
then
   /usr/platform/`uname -i`/sbin/prtdiag > $OUTFILEDIR/$OUTFILENAME.prtdiag.txt 2>> $OUTFILEDIR/$OUTFILENAME.prtdiag.txt
fi

#copy unikixmain files to directory
$CP $KIXSYS/unikixmain.dbg 	$OUTFILEDIR/$OUTFILENAME.dbg.txt > $NULL_DEVICE 2>> $NULL_DEVICE
$CP $KIXSYS/unikixmain.err 	$OUTFILEDIR/$OUTFILENAME.err.txt > $NULL_DEVICE 2>> $NULL_DEVICE
$CP $KIXSYS/unikixmain.log 	$OUTFILEDIR/$OUTFILENAME.log.txt > $NULL_DEVICE 2>> $NULL_DEVICE
$CP $KIXSYS/unikixmain.out 	$OUTFILEDIR/$OUTFILENAME.out.txt > $NULL_DEVICE 2>> $NULL_DEVICE


#if $EBMHOME is set then try to run ebmsnap
if test ! -z "$EBMHOME"
then
#	do not run ebmsnap if ebmsnap has called us
	if [ "$EMP_SNAP_CALLER" != "$EBMSNAP" ]
	then
#		set EMP_SNAP_CALLER to tell ebmsnap not to run kixsnap 
		echo "Calling $EBMSNAP for MBM information"
		echo "This $KIXSNAP output file will also contain $EBMSNAP output"
		EMP_SNAP_CALLER=$KIXSNAP
		export EMP_SNAP_CALLER
		$EBMSNAP -d $OUTFILEDIR > $OUTFILEDIR/$EBMSNAP.out.txt 2>> $OUTFILEDIR/$EBMSNAP.out.txt
		unset EMP_SNAP_CALLER
	fi
fi


#compress the directory
cd $OUTDIRR > $NULL_DEVICE 2>> $NULL_DEVICE
if [ "$COMPRESS" = "zip" ]
then
	$COMPRESS -q -r $OUTFILENAME.zip $OUTFILENAME > $NULL_DEVICE 2>> $NULL_DEVICE
else
	tar -cf $OUTFILENAME.tar $OUTFILENAME > $NULL_DEVICE 2>> $NULL_DEVICE
	$COMPRESS $OUTFILENAME.tar > $NULL_DEVICE 2>> $NULL_DEVICE
fi


#remove all the files in the directory, and remove the directory
#if for some reason we cannot cd to the directory, then do not delete anything
# as we maybe in $KIXSYS
cd $OUTFILEDIR > $NULL_DEVICE 2>> $NULL_DEVICE
if [ "$?" = 0 ]
   then
	$RM $OUTFILE 			> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.dbg.txt 	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.err.txt 	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.log.txt 	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.out.txt	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM DOTunikixrc			> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM unikixrc.cfg		> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM *.tbl			> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM CATALOG.*			> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM BATCHSHELL*			> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM TRACE*.dmp			> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.gva.struct	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.users.struct	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.sit.struct	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.dct.struct	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.tst.struct	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.fct.struct	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.pct.struct	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.ppt.struct	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.vct.struct	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.snt.struct	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.jct.struct	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.plt.struct	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.ist.struct	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.cvt.struct	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.txc.struct	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.skt.struct	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.mq.struct	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.gta.struct	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.vsam.txt	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.trace		> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.pstack.txt	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.pmap.txt	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.pldd.txt	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.psig.txt	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.pfiles.txt	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.prtdiag.txt	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.ls.txt		> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $OUTFILENAME.asyncq.txt	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM tnenterexit.*	   	> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM unikixtcp.trace.* 		> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM DFHUSD.dta	 		> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM DFHUSD.idx	 		> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM kixinstall.log.*		> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM etc_system.txt		> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM kxusrexit.c			> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM batchsnapfile.* 		> $NULL_DEVICE 2>> $NULL_DEVICE
	$RM $EBMSNAP.out.txt 		> $NULL_DEVICE 2>> $NULL_DEVICE
	cd ..				> $NULL_DEVICE 2>> $NULL_DEVICE
	$RMDIR $OUTFILEDIR		> $NULL_DEVICE 2>> $NULL_DEVICE
fi
