v23i050: SPS, a PS replacement, Part04/04

Rich Salz rsalz at bbn.com
Tue Nov 27 06:06:13 AEST 1990


Submitted-by: Robert Ward <olsen!robert at uunet.uu.net>
Posting-number: Volume 23, Issue 50
Archive-name: sps2/part04

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then feed it
# into a shell via "sh file" or similar.  To overwrite existing files,
# type "sh file -c".
# The tool that generated this appeared in the comp.sources.unix newsgroup;
# send mail to comp-sources-unix at uunet.uu.net if you want that tool.
# Contents:  Make.4.1 Make.4.2 Make.4.3 prcmd.c prheader.c printall.c
#   prsummary.c selecttty.c
# Wrapped by rsalz at papaya.bbn.com on Mon Nov 26 14:03:25 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
echo If this archive is complete, you will see the following message:
echo '          "shar: End of archive 4 (of 4)."'
if test -f 'Make.4.1' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'Make.4.1'\"
else
  echo shar: Extracting \"'Make.4.1'\" \(882 characters\)
  sed "s/^X//" >'Make.4.1' <<'END_OF_FILE'
X# Makefile for SPS (4.1BSD UNIX Version)
X
XPROG    =       sps
XOBJS    =       filecount.o findtty.o flagdecode.o flagsetup.o \
X		getcmd.o getupage.o globals1.o globals2.o hashuid.o \
X		initialise.o initsymbols.o inittty.o main.o mktree.o \
X		needed.o openfiles.o percentmem.o prcmd.o prcpu.o \
X		prheader.o printall.o printproc.o prsummary.o readstatus.o \
X		selectproc.o selecttty.o termwidth.o ttystatus.o waitingfor.o
X
XINCS    =       sps.h
XLIBS    =       -ltermlib
XCFLAGS  =       -I/usr/src/sys -DCHAOS
X
Xall:            $(PROG)
X.c.o:
X		cc $(CFLAGS) -c -O -R $<
Xglobals1.o waitingfor.o:
X		cc $(CFLAGS) -c -O $<
X
X$(OBJS):        $(INCS)
X
X$(PROG):        $(OBJS)
X		cc -o $@ $(OBJS) $(LIBS)
X
Xinstall:        $(PROG)
X		strip $(PROG)
X		mv $(PROG) /bin/$(PROG)
X		/etc/chown root /bin/$(PROG)
X		chmod 4711 /bin/$(PROG)
X
Xlint:
X		lint -x -b $(CFLAGS) *.c
Xclean:
X		rm -f $(OBJS) $(PROG)
END_OF_FILE
  if test 882 -ne `wc -c <'Make.4.1'`; then
    echo shar: \"'Make.4.1'\" unpacked with wrong size!
  fi
  # end of 'Make.4.1'
fi
if test -f 'Make.4.2' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'Make.4.2'\"
else
  echo shar: Extracting \"'Make.4.2'\" \(977 characters\)
  sed "s/^X//" >'Make.4.2' <<'END_OF_FILE'
X# Makefile for SPS (Vax 4.2BSD and Ultrix1.2 UNIX Version)
X
XPROG    =       sps
XOBJS    =       filecount.o findtty.o flagdecode.o flagsetup.o \
X		getcmd.o getupage.o globals1.o globals2.o hashuid.o \
X		initialise.o initsymbols.o inittty.o main.o mktree.o \
X		needed.o openfiles.o percentmem.o prcmd.o prcpu.o \
X		prheader.o printall.o printproc.o prsummary.o readstatus.o \
X		selectproc.o selecttty.o termwidth.o ttystatus.o waitingfor.o
XINCS    =       sps.h
XCC      =       cc
XCFLAGS  =       -DBSD42 -I/sys
XLIBS    =       -ltermlib
XDIRINSTALL =	/bin
X
Xall:		    $(PROG)
X.c.o:
X		$(CC) $(CFLAGS) -c -O -R $<
X	
Xglobals1.o waitingfor.o:
X		$(CC) $(CFLAGS) -c -O $<
X
X$(OBJS):		$(INCS)
X
X$(PROG):		$(OBJS)
X		$(CC) -o $@ $(OBJS) $(LIBS)
X
Xinstall:		$(PROG)
X		strip $(PROG)
X		mv $(PROG) $(DIRINSTALL)/$(PROG)
X		/etc/chown root $(DIRINSTALL)/$(PROG)
X		chgrp kmem $(DIRINSTALL)/$(PROG)
X		chmod 2755 $(DIRINSTALL)/$(PROG)
X
Xlint:
X		lint -x -b $(CFLAGS) *.c
Xclean:
X		rm -f $(OBJS) $(PROG)
END_OF_FILE
  if test 977 -ne `wc -c <'Make.4.2'`; then
    echo shar: \"'Make.4.2'\" unpacked with wrong size!
  fi
  # end of 'Make.4.2'
fi
if test -f 'Make.4.3' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'Make.4.3'\"
else
  echo shar: Extracting \"'Make.4.3'\" \(966 characters\)
  sed "s/^X//" >'Make.4.3' <<'END_OF_FILE'
X# Makefile for SPS (Vax 4.3BSD Version)
X
XPROG    =       sps
XOBJS    =       filecount.o findtty.o flagdecode.o flagsetup.o \
X		getcmd.o getupage.o globals1.o globals2.o hashuid.o \
X		initialise.o initsymbols.o inittty.o main.o mktree.o \
X		needed.o openfiles.o percentmem.o prcmd.o prcpu.o \
X		prheader.o printall.o printproc.o prsummary.o readstatus.o \
X		selectproc.o selecttty.o termwidth.o ttystatus.o waitingfor.o
XINCS    =       sps.h
XCC      =       cc
XCFLAGS  =       -DBSD42 -DBSD43 -I/sys
XLIBS    =       -ltermlib
XDIRINSTALL =	/bin
X
Xall:		    $(PROG)
X.c.o:
X		$(CC) $(CFLAGS) -c -O -R $<
X	
Xglobals1.o waitingfor.o:
X		$(CC) $(CFLAGS) -c -O $<
X
X$(OBJS):		$(INCS)
X
X$(PROG):		$(OBJS)
X		$(CC) -o $@ $(OBJS) $(LIBS)
X
Xinstall:		$(PROG)
X		strip $(PROG)
X		mv $(PROG) $(DIRINSTALL)/$(PROG)
X		/etc/chown root $(DIRINSTALL)/$(PROG)
X		chgrp kmem $(DIRINSTALL)/$(PROG)
X		chmod 2755 $(DIRINSTALL)/$(PROG)
X
Xlint:
X		lint -x -b $(CFLAGS) *.c
Xclean:
X		rm -f $(OBJS) $(PROG)
END_OF_FILE
  if test 966 -ne `wc -c <'Make.4.3'`; then
    echo shar: \"'Make.4.3'\" unpacked with wrong size!
  fi
  # end of 'Make.4.3'
fi
if test -f 'prcmd.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'prcmd.c'\"
else
  echo shar: Extracting \"'prcmd.c'\" \(785 characters\)
  sed "s/^X//" >'prcmd.c' <<'END_OF_FILE'
X# ifndef lint
Xstatic char SccsId[] =  "@(#)prcmd.c	1.1\t10/1/88" ;
X# endif
X
X# include       "sps.h"
X# include       "flags.h"
X
X/* PRCMD - Prints the command arguments according to the switches */
Xprcmd ( p, lpad, width )
X
Xregister struct process         *p ;
Xint                             lpad ;
Xint                             width ;
X
X{
X	extern struct flags     Flg ;
X	extern unsigned         Termwidth ;
X
X	printf( "%*d ", lpad, p->pr_p.p_pid ) ;
X	if ( Flg.flg_f )
X	{
X		printf( "%5d ", p->pr_p.p_ppid ) ;
X		width -= 6 ;
X	}
X	if ( Flg.flg_g )
X	{
X		printf( "%5d ", p->pr_p.p_pgrp ) ;
X		width -= 6 ;
X	}
X	width += Termwidth ;
X	if ( Flg.flg_w )
X		printf( "%s\n", p->pr_cmd ) ;
X	else if ( width > 0 )
X		printf( "%-.*s\n", width, p->pr_cmd ) ;
X	if ( p->pr_csaved )
X		free( p->pr_cmd ) ;
X}
END_OF_FILE
  if test 785 -ne `wc -c <'prcmd.c'`; then
    echo shar: \"'prcmd.c'\" unpacked with wrong size!
  fi
  # end of 'prcmd.c'
fi
if test -f 'prheader.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'prheader.c'\"
else
  echo shar: Extracting \"'prheader.c'\" \(683 characters\)
  sed "s/^X//" >'prheader.c' <<'END_OF_FILE'
X# ifndef lint
Xstatic char SccsId[] =  "@(#)prheader.c	1.1\t10/1/88" ;
X# endif
X
X# include       "sps.h"
X# include       "flags.h"
X
X/* PRHEADER - Print a header according to the switches */
Xprheader ()
X{
X	extern struct flags     Flg ;
X
X	printf( "Ty User    %s Proc#", Flg.flg_v ?
X# ifdef SUNOS40
X# ifdef OLDSTATS
X		" Status Fl Nice Virt Res %M  Time Child %C" :
X# else
X		" Status Fl Nice Prv  Shr  Res %M  Time Child %C" :
X# endif
X# else
X		" Status Fl Nice Virtual Resident %M  Time Child %C" :
X# endif
X		Flg.flg_d ?
X		"  Files    PageFaults Swap BlockI/O Kbytsecs" : "" ) ;
X	if ( Flg.flg_f )
X		printf( " Ppid#" ) ;
X	if ( Flg.flg_g )
X		printf( " Pgrp#" ) ;
X	printf( " Command\n" ) ;
X}
END_OF_FILE
  if test 683 -ne `wc -c <'prheader.c'`; then
    echo shar: \"'prheader.c'\" unpacked with wrong size!
  fi
  # end of 'prheader.c'
fi
if test -f 'printall.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'printall.c'\"
else
  echo shar: Extracting \"'printall.c'\" \(509 characters\)
  sed "s/^X//" >'printall.c' <<'END_OF_FILE'
X# ifndef lint
Xstatic char SccsId[] =  "@(#)printall.c	1.1\t10/1/88" ;
X# endif
X
X# include       <stdio.h>
X# include       "sps.h"
X
X/* PRINTALL - Recursively print the process tree. */
Xprintall ( p, md )
X
Xregister struct process         *p ;
Xregister int                    md ;
X
X{
X	while ( p )
X	{       /* Print this process */
X		printproc( p, md ) ;    
X		(void)fflush( stdout ) ;
X		/* Print child processes */
X		printall( p->pr_child, md+1 ) ;
X		/* Print brother processes */
X		p = p->pr_sibling ;     
X	}
X}
END_OF_FILE
  if test 509 -ne `wc -c <'printall.c'`; then
    echo shar: \"'printall.c'\" unpacked with wrong size!
  fi
  # end of 'printall.c'
fi
if test -f 'prsummary.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'prsummary.c'\"
else
  echo shar: Extracting \"'prsummary.c'\" \(712 characters\)
  sed "s/^X//" >'prsummary.c' <<'END_OF_FILE'
X# ifndef lint
Xstatic char SccsId[] =  "@(#)prsummary.c	1.1\t10/1/88" ;
X# endif
X
X# include       "sps.h"
X
X/* PRSUMMARY - Print the summarising information */
Xprsummary ()
X{
X	extern struct summary   Summary ;
X
X	printf(
X"%D (%Dk) processes, %D (%Dk) busy, %D (%Dk) loaded, %D (%Dk) swapped\n",
X		Summary.sm_ntotal, KBYTES( Summary.sm_ktotal ),
X		Summary.sm_nbusy, KBYTES( Summary.sm_kbusy ),
X		Summary.sm_nloaded, KBYTES( Summary.sm_kloaded ),
X		Summary.sm_nswapped, KBYTES( Summary.sm_kswapped ) ) ;
X	Summary.sm_ntotal = 0L ;
X	Summary.sm_ktotal = 0L ;
X	Summary.sm_nbusy = 0L ;
X	Summary.sm_kbusy = 0L ;
X	Summary.sm_nloaded = 0L ;
X	Summary.sm_kloaded = 0L ;
X	Summary.sm_nswapped = 0L ;
X	Summary.sm_kswapped = 0L ;
X}
END_OF_FILE
  if test 712 -ne `wc -c <'prsummary.c'`; then
    echo shar: \"'prsummary.c'\" unpacked with wrong size!
  fi
  # end of 'prsummary.c'
fi
if test -f 'selecttty.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'selecttty.c'\"
else
  echo shar: Extracting \"'selecttty.c'\" \(448 characters\)
  sed "s/^X//" >'selecttty.c' <<'END_OF_FILE'
X# ifndef lint
Xstatic char SccsId[] =  "@(#)selecttty.c	1.1\t10/1/88" ;
X# endif
X
X# include       "sps.h"
X# include       "flags.h"
X
X/* SELECTTTY - Decides whether this process is interesting for its tty */
Xselecttty ( p )
X
Xregister struct process         *p ;
X
X{
X	register union flaglist *fp ;
X	extern struct flags     Flg ;
X
X	for ( fp = Flg.flg_Tlist ; fp->f_ttyline ; fp++ )
X		if ( fp->f_ttyline == p->pr_tty )
X			return ( 1 ) ;
X	return ( 0 ) ;
X}
END_OF_FILE
  if test 448 -ne `wc -c <'selecttty.c'`; then
    echo shar: \"'selecttty.c'\" unpacked with wrong size!
  fi
  # end of 'selecttty.c'
fi
echo shar: End of archive 4 \(of 4\).
cp /dev/null ark4isdone
MISSING=""
for I in 1 2 3 4 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 4 archives.
    rm -f ark[1-9]isdone
else
    echo You still must unpack the following archives:
    echo "        " ${MISSING}
fi
exit 0
exit 0 # Just in case...
-- 
Please send comp.sources.unix-related mail to rsalz at uunet.uu.net.
Use a domain-based address or give alternate paths, or you may lose out.



More information about the Comp.sources.unix mailing list