Problem with script

Hello All. I have a script that is suppossed to start up a daemon but when executed, simply hangs. Could you please take a look and let me know where the problem might be? TIA

###################################################################
#
# SCRIPT: dstart3000.sh
# Bring up the Domain
# AUTHOR: 
#
# Description:
# Start the Domain Daemon Server Process on Port 3000
# Execution Syntax:
# ./dstart3000.ksh
# Revision History:
#   2007_09_21  Script created
###################################################################
# Setting up variables
FATAL=255
SUCCESS=0
MAIL_SUBJECT="Domain Daemon Server Process failed to Start"
MAIL_TO="someone@somewhere.com"

program_name=`basename $0 .ksh`
start_time=`date +%y-%m-%d`
#Intializing log file and putting job start time
LOG_FILE="${GM_LOG}/${program_name}.${start_time}.log"
echo "Program ${program_name} started at ${start_time}" > ${LOG_FILE}
echo "Start DomainDaemon process at `date +%Y%m%d_%H%M%S`" >> ${LOG_FILE}
DomainDaemon -port 3000 -start > daemon3000.log 2> daemon3000.err
 if [ $? -ne 0 ]; then
    # The Domain Daemon Start failed ??
    echo ERROR - the Domain Daemon Start Server Failed >> ${LOG_FILE}
    mail -s "${MAIL_SUBJECT}" "${MAIL_TO}" < ${LOG_FILE}
    exit 1
   else
    echo Domain Daemon Started succesfully
 fi
echo  finish Domain Daemon Server Started Succesfully `date +%Y%m%d_%H%M%S` >> ${LOG_FILE}
# Save logfile
# Cleanup and close

Is this the line?:

DomainDaemon -port 3000 -start > daemon3000.log 2> daemon3000.err

Try running it in the background...

DomainDaemon -port 3000 -start > daemon3000.log 2> daemon3000.err &

And if it dies when you close your session, run it nohup...

nohup DomainDaemon -port 3000 -start > daemon3000.log 2> daemon3000.err &

Hope this helps

why don't you add 'set -x' to the script and see where it 'hangs'.

hi, I have tried you script to run and from my point of view the script working fine.

I have changed only the header to #!/bin/bash then I've created a test.log with permission settings 755 and at last I've installed it on my debian OS mailutilities -- that's all!

see my mail

"/var/mail/####": 3 messages 2 unread
R 3 #### Di Jun 23 00:22 19/667 Domain Daemon Server Process failed to Start

�3

Subject: Domain Daemon Server Process failed to Start
To: <####@localhost>
From: #### <####@%%%%.@@@@@@@@@@@@@>
Date: Tue, 23 Jun 2009 00:22:28 +0200

Program test.sh started at 09-06-23
Start DomainDaemon process at 20090623_002228
ERROR - the Domain Daemon Start Server Failed

That would have been useful info an hour ago :wink:

Can you define "hangs"?

What do the .err and .log files tell you (presuming more than the mail does)?

Thanks! for the replies! I need to use Korn on this one so switching to bash is not an option. I am unfamiliar with '-x'. How do I implement this? As for 'hangs', I mean that the job runs but does not finish, i.e. return any messages or get a command prompt back. Also, no .err or .log files ever get created.

From the output of:

# help set
...
-x  Print commands and their arguments as they are executed.
...

so just put "set -x" at the top of the script before any other commands.

A much more ghetto and tedious way to do it is to add an "echo" command after every command.

command1
echo 1
command2
echo 2

so when your script "hangs" and all you see on the terminal is "1", then you know that you have a problem with "command2". It's much easier to go with set -x though, I was just trying to illustrate the principle.