help auto starting app on boot

Hi
I need a bit of help figuring out how to auto start an application on boot on an HPUX. I am a fairly exp AIX guy now working an HP shop. I use to change a /etc/rc... file. Any advise would be a great help TIA. �K

If it is a help the program is a DB and runs as root /usr/ud{##}/startud
With the norm ## is the number version.

PS a hint at auto shutdown of the same app will be nice too again I know how to do it from AIX point of view. The AIX man pages spell it out clearly, but have not seen the same information on man pages on HP to date.
Again �
/us/ud{##}/stopud

-----Post Update-----

PSS i am aware of init, but was first trained to modify the rc files and am not sure if that is my only option... -k

AIX has /etc/rc.d/init.d directory where you should put all your start/stop script, then add links to them in the correct runlevel e.g. rc2.d for 2 etc...but AIX uses alot /etc/inittab also which is not the case of HP-UX (and SOLARIS <10)
All scripts are in /sbin/init.d then your should link them to the corresponding level your case should be 3 ( I use 4 and corrrected init default value in order to, when trouble bring down one level:3 which is how the system was delivered: works? then something we added is faulty...) but you can like me customise and use level 4...

There is a template file you can use (in /sbin/init.d/ ; cp template rc.myDB) , do a man rc

Arguments passed by init will be at startup (boot) : "start", at shutdown, "stop"

This documentation explains all:
http://docs.hp.com/en/934/startup.pdf

HP's startup stuff can be a little tricky if you don't know what you are doing. Having said that, it ain't no magic at all.

I am assuming you have a startup/shutdown script for your database right ? If yes, place them in /sbin/init.d directory to be compliant with the standards (otherwise they can be placed anywhere)

Then, decide on which run-level it needs to start, 1 thru 4. The rc script at the startup time, goes thru these run-levels in an ascending order. Run level directories are
$ ll -d /sbin/rc*d
dr-xr-xr-x 2 bin bin 1024 May 6 14:09 /sbin/rc0.d
dr-xr-xr-x 2 bin bin 3072 May 6 2008 /sbin/rc1.d
dr-xr-xr-x 2 bin bin 3072 May 6 14:09 /sbin/rc2.d
dr-xr-xr-x 2 bin bin 1024 Feb 13 2008 /sbin/rc3.d
dr-xr-xr-x 2 bin bin 96 Apr 25 2007 /sbin/rc4.d

rc0.d is reserved for shutting down the system related processes, like syncer, LVM daemon and what-not and unless your database is an integral part of your OS, you should not be placing anything there.

Since these run levels get executed in ascending order, you need to know what prerequisites need to be running prior to launching your database and decide where your startup needs to go. Most layered products like databases and such, usually start at run-level 3

In each run level, you will see symbolic links to start up scripts placed in (generally) /sbin/init.d, named similar to "SxxxScriptName.sh", where the xxx is a numeric sequence number. When the rc script runs, it goes through the numbers, yes, as you guessed, in an ascending order.

In each run level you also will see symbolic links starting with letter K. Those are the "Kill" scripts. Kill scripts are placed one run-level above the level application starts. Highest numbered S script usually complimented by the lowest numbered K script in the next run level above this one.

so, if we say you will start your database as the last app on run level 3, it needs to be killed as first thing on run level 4, so hypothetical commands you will need to run are as follows:

cp /path/to/my/database_start_stop_script /sbin/init.d

ln -s /sbin/rc3.d/S900MyDbStart /sbin/init.d/database_start_stop_script
ln -s /sbin/rc2.d/K100MyDbStop /sbin/init.d/database_start_stop_script

make sure your start/stop script has execute permissions and your links are not destroying existing links (if so, adjust the xxx values by few numbers above or below)

Hope this helps

thank you both. I am sure with the notes provided and the doc's referance I can get this resolved. :slight_smile: happy days!! -KJ