There are two ways of writing a service on Ubuntu. One is by dropping a complex config file in init.d and the other is by using "upstart".
Upstart makes it effortless to write services. All you have to do is put a configuration file in /etc/init and upstart takes care of the rest. You can then start and stop services by using:
start test
stop test
To get the status of the service, you can do
status test
Here's a sample service that calls a shell script that prints strings on the console:
################ test.conf
description "Hive Server"
author "Yash Ranadive"
start on runlevel [2345]
stop on runlevel [016]
respawn
script
/home/yranadive/print_delay.sh >> /tmp/print_delay.out 2>&1
end script
You need to know what kind of a program you are trying to run. For. e.g. if the program forks itself after running it or not. If the program is a service you will need to add expect daemon to the conf file.
Here's the shell script print_delay.sh
#!/bin/bash
c=1
while [ $c -le 5 ]
do
echo "Test line at $(date)"
sleep 10
(( c++ ))
done
Upstart makes it effortless to write services. All you have to do is put a configuration file in /etc/init and upstart takes care of the rest. You can then start and stop services by using:
start test
stop test
To get the status of the service, you can do
status test
Here's a sample service that calls a shell script that prints strings on the console:
################ test.conf
description "Hive Server"
author "Yash Ranadive
start on runlevel [2345]
stop on runlevel [016]
respawn
script
/home/yranadive/print_delay.sh >> /tmp/print_delay.out 2>&1
end script
You need to know what kind of a program you are trying to run. For. e.g. if the program forks itself after running it or not. If the program is a service you will need to add expect daemon to the conf file.
Here's the shell script print_delay.sh
#!/bin/bash
c=1
while [ $c -le 5 ]
do
echo "Test line at $(date)"
sleep 10
(( c++ ))
done
No comments:
Post a Comment