Starting daemons without writing a package
-
Hello
I've searched google, newsgroups, the mailing lists and these fine forums but have found no mention of any way to start freebsd daemons at bootup without writing a package?
Is there a way to hack a service to startup without writing a full blown package and front end for webConfigurator?
I.e. the equivalent of servicename_enable="YES" in rc.conf.
Thanks. :)
-
http://faq.pfsense.com/index.php?action=artikel&cat=10&id=38&artlang=en&highlight=hidden (search for the shellcommand items).
-
You could just make an rc file and stick it in /usr/local/etc/rc.d/ follow the format for an existing one.
-
Thanks to you both. I will let you know how I get on.
-
If you installed additional services using the pkg_add command, it usually generates its own rc.d file in /usr/local/etc/rc.d Just vi the file and change the enable:NO to YES and rename it to a shell script (.sh extension). That is how I have been doing it anyways, I'm guessing someone is about to tell me that its a bad idea for one reason or another though…
-
If you installed additional services using the pkg_add command, it usually generates its own rc.d file in /usr/local/etc/rc.d Just vi the file and change the enable:NO to YES and rename it to a shell script (.sh extension). That is how I have been doing it anyways, I'm guessing someone is about to tell me that its a bad idea for one reason or another though…
Bad idea. JUST KIDDING. This is absolutely fine what you are doing. This is the correct way to start "extra" programs in pfSense. Either this method or use <shellcmd>which you can place within <system>in config.xml.
Example:
<system><shellcmd>tcpdump -i xl0 &
…
...Notice &. You need to encode special characters since this is in a XML space.
The advantage to config.xml mod is that your change gets backed up and restored meaning you do not need to recreate the rc.d file if you want to reinstall.</shellcmd></system></system></shellcmd>
-
I've done it now thanks ;D
I changed the enable:NO to YES in the shell script so that it always starts up by default.
Thanks for the XML explanation as well.