[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

20010710: gpend problem




John,

In general, 1 gpend should shut down everything. Typically, if you
are getting gplt processes hung, then a program is dying and therefore
not connecting to the message queue which should be.

My suggestion would be to not redirect the program output to /dev/null
so that you can see if there are any error messages when the script
is run. You can redirect the cron output of the script to /dev/null
so that you don't get that mailed to you, but for debugging, it
would be easier to see the program output.

The most likely problem would be the "could not fork" message
ifg the program was failing to launch the device driver and
somehow getting the gplt hung up.

Also, if you are running from cron, you want to make sure that the script
is running in the correct directory- generally cron launches any
script from the user's homw directory.

Steve Chiswell
Unidata User Support


On Tue, 10 Jul 2001 address@hidden wrote:

> Steve --
>
> I am having a problem with gpend.  After running the attached
> script, I get left with a hung gplt -- shows up in ps -ef    and  as
> message queues in   ipcs   .    In trying to debug this problem,  I
> noticed that several instance of gplt are called in the processing of
> the script.  It seems that several different routines (including
> gpend!!!) invoke gplt.   I have tried putting additional gpend 's  in
> several places in the script to counter the invoked gplt's to no avail.
>
> What is happening?  Should one gpend take care of all routines in
> a given script?   (I seems to work that way when done via
> command line on a terminal.)  Who--what routine--is creating the
> gplt that won't die?
>
> Thanks in advance.
>
> John M. Hobbie
> NSBF
> -----------------------sorry for the long attachment-----------
> #!/bin/csh -f
>
> source /export/home/gempak/GEMPAK_5.6/Gemenviron
>
> set TIME = `date +%H`
> set DATE = `date +%y%m%d`
>
> set GRDFILE = sfc_$DATE.grd
> set SFCFIL  = $GEMDATA/surface/20{$DATE}_sao.gem
> set PSFILE = sfcgrad_$DATE$TIME.ps
>
> if (!( -e $GRDFILE)) then
>
> #   there was no file for today, so get rid of all from before
>   rm sfc_*.grd
>
> gdcfil <<EOFGRID >& /dev/null
>   GDOUTF =  $GRDFILE
>   PROJ =    ced
>   GRDAREA = TX
>   KXKY =    #.75;.75
>   MAXGRD =  1000
>   CPYFIL =
>   ANLYSS =
> r
>
> ex
> EOFGRID
> endif
> #    now to load the sfc data into the grid file
>
> oabsfc <<EOFSFC >& /dev/null
>  SFFILE = $SFCFIL
>  GDFILE = $GRDFILE
>  SFPARM = tmpf;dwpf;pmsl;drct;sknt;alti;altm
>  DATTIM = $TIME
>  DTAAREA = data
>  GUESS =
>  GAMMA = 0.3
>  SEARCH = 20
>  NPASS = 2
>  QCNTL =
> r
>
> ex
> EOFSFC
>
> gdplot <<EOFGRD >& /dev/null
>  GDATTIM = $TIME
>  GLEVEL = 0
>  GVCORD = NONE
>  GFUNC = sm9s(MUL[12,MAG[GRAD[ALTM]]])
>  GVECT = GRAD[MUL[-120,ALTM]]
>  WIND = AK6/.005//0121/.5
>  GDFILE = $GRDFILE
>  CLEAR = YES
>  -----etc  many more lines to make sure of state of gdplot----
>
> r
>
> exit
> EOFGRD
>
>
> gpend
>
> /bin/lp $PSFILE
>
>