On Tuesday 17 January 2012, Bryant Zimmerman wrote: > I have written a program that monitors asterisk to make sure my peers and > channels are all in good order. The program calls asterisk once a min and > then parses the output. The program works fine when launched from the > command line. I then wrote a script to launch the program with the hope of > launching it on boot up from /etc/init.d. When I log into a terminal > session and run the script I am able to start/stop/status on the program > and all is good. When I copy the same script to the /etc/init.d folder and > run it the program fails to be able to access the asterisk bin. > > In all three cases I am logged in as root. The script is owned by root and > all it's permissions set. Anyone have any idea why running my startup > script from the /etc/init.d folder would act differently? > > > I am running asterisk 1.8.x, On opensuse 11.x. The startup script is > launching a mono application.
Is it properly linked from /etc/rc2.d , /etc/rc3.d and so forth? When you enter a runlevel, init goes through in order executing files whose names start with a K (for Kill) with argument "stop", and then again executing files whose names start with an S (for Start) with argument "start". The filenames are contrived so as to force a particular order, and they in turn are symbolic links to scripts (usually) located in /etc/init.d/ . I say "usually" because, being symlinks, they could be anywhere; but /etc/init.d/ is the usual place to put them, just so they can be run manually from there. If you want your program to start in runlevels 2, 3, 4 and 5, but not in 0, 1 and 6, and it must wait until after all "S60*" have run, then you need to do somethink like # ln -s /etc/init.d/myfunkyservice /etc/rc2.d/S65myfunkyservice # ln -s /etc/init.d/myfunkyservice /etc/rc3.d/S65myfunkyservice # ln -s /etc/init.d/myfunkyservice /etc/rc4.d/S65myfunkyservice # ln -s /etc/init.d/myfunkyservice /etc/rc5.d/S65myfunkyservice # ln -s /etc/init.d/myfunkyservice /etc/rc0.d/K65myfunkyservice # ln -s /etc/init.d/myfunkyservice /etc/rc1.d/K65myfunkyservice # ln -s /etc/init.d/myfunkyservice /etc/rc6.d/K65myfunkyservice Also, I suggest you read your distro's documentation on custom boot scripts, because every distribution has its own slightly different ideas about how the bootup process should work. -- AJS Answers come *after* questions. -- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
