From c1b6f840ad7c483e905f9a19eb2b5a8eac0b9973 Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Mon, 16 May 2011 21:57:21 -0600 Subject: Add a skeleton for init scripts Add a skeleton for init scripts, the original structure is from /etc/init.d/skeleton of Ubuntu 10.10, it is in sysvinit_2.87dsf, so add the COPYRIGHT(GPLv2) of sysvinit_2.87dsf. Modified the original skeleton a lot to make it as easy as possible, just use posix shell command, and have tested it with core-image-minimal. * The skeleton implements the following actions: - start, stop, restart, status, try-restart and force-reload. # force-reload is a alias of try-restart. - not implements reload, since only a few programs have it, just leave it as placeholder. * Add /usr/sbin/skeleton-test to test /etc/init.d/skeleton * The /etc/init.d/skeleton can be run and output the example messages: 1) #./skeleton start (test start) Starting skeleton ... 2) #./skeleton start (test start again when running) skeleton already running (1078). 3) #./skeleton status (test status when running) skeleton is running (1078). 4) #./skeleton stop (test stop) Stopped skeleton (1078). 5) #./skeleton stop (test stop again) skeleton is not running; none killed. 6) #./skeleton status (test status when stopped) skeleton is not running. 7) #./skeleton restart (test restart when running) Stopped skeleton (1128). Starting skeleton ... 8) #./skeleton restart (test restart when stopped) skeleton is not running; none killed. Starting skeleton ... 9) try-restart (or force-reload) means restart the service if the service is already running #./skeleton try-restart (test try-restart when stopped) skeleton is not running; none killed. #./skeleton try-restart (test try-restart when running) Stopped skeleton (1181). Starting skeleton ... * Have used syslogd to test it in a real world(with both core-image-minimal and core-image-sato) Signed-off-by: Robert Yang --- .../recipes-skeleton/service/service/skeleton_test.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 meta-skeleton/recipes-skeleton/service/service/skeleton_test.c (limited to 'meta-skeleton/recipes-skeleton/service/service/skeleton_test.c') diff --git a/meta-skeleton/recipes-skeleton/service/service/skeleton_test.c b/meta-skeleton/recipes-skeleton/service/service/skeleton_test.c new file mode 100644 index 0000000000..96c67ac118 --- /dev/null +++ b/meta-skeleton/recipes-skeleton/service/service/skeleton_test.c @@ -0,0 +1,12 @@ +#include + +/* This demo does nothing except for testing /etc/init.d/skeleton */ + +int main(int argc, char *argv[]) +{ + daemon(0, 0); + while (1) { + sleep(1); + } + return 0; +} -- cgit 1.2.3-korg