As I’m using RxTx libraries for serial communication and I couldn’t handle the locks and permissions on the ports when Tomcat closes( please comment if you know:)), I need to remove locks and give appropriate permissions to ports on startup. Today I saw a post @ http://embraceubuntu.com/2005/09/07/adding-a-startup-script-to-be-run-at-bootup/ and I tried it on my pc. I’m using Ubuntu 11.10.
First write your script and make it executable and move it to /etc/init.d/.
$ chmod +x /home/gokceng/Desktop/myScript.sh
$ sudo cp /home/gokceng/Desktop/myScript.sh /etc/init.d/
$ sudo update-rc.d myScript.sh start 99 2 3 4 5 .
The parameters on the last line:
myScript.sh : your script to run
start : When your script run, it can be stop
99 : On start in this scenario, it makes your script to run after everything. It could be 1 for being first or anything between 1 and 99.
2 3 4 5 : run levels of your script
. : Don’t forget to put this 🙂
My script is like that, it is useless but it is only for explanation:
### BEGIN INIT INFO
# Provides: myScript
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
sudo chmod 666 /home/gokceng/Desktop/myTest
The lines between BEGIN INIT INFO and END INIT INFO is for getting “missing LSB information” error. You can get more information about these lines from http://wiki.debian.org/LSBInitScripts
For more compact way of running your script both on startup and shutdown you can also use this:
update-rc.d yourScript start 20 2 3 4 5 . stop 20 0 1 6 .
You can see other usages check this link: http://translated.by/you/man-update-rc-d-8-install-and-remove-system-v-style-init-script-links/original/
I hope it helps you.