# HG changeset patch # User Christophe Lincoln # Date 1488841480 -3600 # Node ID 3928ba49c43c2f0647a54532a95facc8218f677b # Parent 8205151e9aff8cbd14c6eb5fa3c32e28685a01c6 A simple way to handle daemons in seb OS (can be changed, as everything else :-) diff -r 8205151e9aff -r 3928ba49c43c initfs/etc/daemons/httpd --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/initfs/etc/daemons/httpd Tue Mar 07 00:04:40 2017 +0100 @@ -0,0 +1,5 @@ +#!/bin/sh +desc="Busybox web server" +start() { + /usr/sbin/httpd -u 80:80 -r "Seb OS Authentication" +} diff -r 8205151e9aff -r 3928ba49c43c initfs/etc/init.d/rcS --- a/initfs/etc/init.d/rcS Mon Mar 06 21:06:09 2017 +0000 +++ b/initfs/etc/init.d/rcS Tue Mar 07 00:04:40 2017 +0100 @@ -24,7 +24,7 @@ fi # Parse kernel cmdline options -for opt in $(cat cmdline); do +for opt in $(cat /proc/cmdline); do case "$opt" in home=*) colorize 036 "Mounting sebhome.img on: /home" diff -r 8205151e9aff -r 3928ba49c43c tools/sebos --- a/tools/sebos Mon Mar 06 21:06:09 2017 +0000 +++ b/tools/sebos Tue Mar 07 00:04:40 2017 +0100 @@ -40,7 +40,6 @@ -d daemon Run/kill a daemon -p packages List installed packages -v view File viewer - doc Built-in documentation EOT } @@ -94,7 +93,7 @@ 12 $width 2>${tmp} passwd=$(cat $tmp) [ -z "$passwd" ] && return 0 - echo "root:$passwd" | chpasswd --md5 >/dev/null + echo "root:$passwd" | chpasswd --md5 2>/dev/null } # Add a new user @@ -131,6 +130,7 @@ "root-passwd" "Change root password" \ "set-date" "Set system date from the web" \ "packages" "List installed packages" \ +"daemons" "List installed daemons" \ "commands" "Display sebos commands" \ "quit" "Exit from SliTaz Config" 2>${tmp} @@ -147,6 +147,7 @@ root-passwd) root_passwd ;; set-date) clear; set_date; read_on ;; packages) clear; ${0} -p; read_on ;; + daemons) clear; ${0} -d; read_on ;; commands) clear; ${0} help; read_on ;; quit) quit ;; esac @@ -168,23 +169,39 @@ title "SliTaz Embedded OS" info; footer ;; - -d|daemon) - # Start/stop Busybox httpd server - #pid=$(ps | grep "httpd" | grep -v "grep" | awk '{print $1}') - daemon="$2" - pid=$(pidof $daemon) - if [ "$pid" != "" ]; then - echo -n "Starting $daemon daemon..." - case "$daemon" in - httpd) - httpd -u 80:80 -r "Seb OS Authentication" ;; - esac; status - else - echo -n "Stopping $daemon daemon..." - kill ${pid}; status + -d|daemon*) + # Handle daemons + daemons="daemons" + if [ ! "$2" ]; then + title "Installed daemons" + for d in $(ls $daemons); do + . ${daemons}/${d} + echo -n "${d}"; indent 20 "$desc"; unset desc + done; footer "Use: $(basename $0) -d [daemon] [--start|--kill|--info]" + exit 0 + fi + if [ "$kill" ]; then + pid=$(pidof $2) + . ${daemons}/${2} + echo -n "Killing: $desc (pid $pid)" + kill ${pid} 2>/dev/null; status + fi + if [ "$start" ]; then + . ${daemons}/${2} + echo -n "Starting: $desc" + start; status + fi + if [ "$info" ]; then + . ${daemons}/${2} + pid=$(pidof $2) + [ ! "$pid" ] && pid="none" + title "$desc" + echo "$(colorize 036 Pidof $2:) $pid" + [ "$pid" != "" ] && ps | grep "$pid" | grep -v "grep" | grep -v "sebos" + footer fi ;; - -p|packages) + -p|package*) title "Installed packages" IFS="|" cat /var/lib/packages | while read pkg desc; do