seb rev 16
A simple way to handle daemons in seb OS (can be changed, as everything else :-)
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Tue Mar 07 00:04:40 2017 +0100 (2017-03-07) |
parents | 8205151e9aff |
children | a4a124868212 |
files | initfs/etc/daemons/httpd initfs/etc/init.d/rcS tools/sebos |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/initfs/etc/daemons/httpd Tue Mar 07 00:04:40 2017 +0100 1.3 @@ -0,0 +1,5 @@ 1.4 +#!/bin/sh 1.5 +desc="Busybox web server" 1.6 +start() { 1.7 + /usr/sbin/httpd -u 80:80 -r "Seb OS Authentication" 1.8 +}
2.1 --- a/initfs/etc/init.d/rcS Mon Mar 06 21:06:09 2017 +0000 2.2 +++ b/initfs/etc/init.d/rcS Tue Mar 07 00:04:40 2017 +0100 2.3 @@ -24,7 +24,7 @@ 2.4 fi 2.5 2.6 # Parse kernel cmdline options 2.7 -for opt in $(cat cmdline); do 2.8 +for opt in $(cat /proc/cmdline); do 2.9 case "$opt" in 2.10 home=*) 2.11 colorize 036 "Mounting sebhome.img on: /home"
3.1 --- a/tools/sebos Mon Mar 06 21:06:09 2017 +0000 3.2 +++ b/tools/sebos Tue Mar 07 00:04:40 2017 +0100 3.3 @@ -40,7 +40,6 @@ 3.4 -d daemon Run/kill a daemon 3.5 -p packages List installed packages 3.6 -v view File viewer 3.7 - doc Built-in documentation 3.8 3.9 EOT 3.10 } 3.11 @@ -94,7 +93,7 @@ 3.12 12 $width 2>${tmp} 3.13 passwd=$(cat $tmp) 3.14 [ -z "$passwd" ] && return 0 3.15 - echo "root:$passwd" | chpasswd --md5 >/dev/null 3.16 + echo "root:$passwd" | chpasswd --md5 2>/dev/null 3.17 } 3.18 3.19 # Add a new user 3.20 @@ -131,6 +130,7 @@ 3.21 "root-passwd" "Change root password" \ 3.22 "set-date" "Set system date from the web" \ 3.23 "packages" "List installed packages" \ 3.24 +"daemons" "List installed daemons" \ 3.25 "commands" "Display sebos commands" \ 3.26 "quit" "Exit from SliTaz Config" 2>${tmp} 3.27 3.28 @@ -147,6 +147,7 @@ 3.29 root-passwd) root_passwd ;; 3.30 set-date) clear; set_date; read_on ;; 3.31 packages) clear; ${0} -p; read_on ;; 3.32 + daemons) clear; ${0} -d; read_on ;; 3.33 commands) clear; ${0} help; read_on ;; 3.34 quit) quit ;; 3.35 esac 3.36 @@ -168,23 +169,39 @@ 3.37 title "SliTaz Embedded OS" 3.38 info; footer ;; 3.39 3.40 - -d|daemon) 3.41 - # Start/stop Busybox httpd server 3.42 - #pid=$(ps | grep "httpd" | grep -v "grep" | awk '{print $1}') 3.43 - daemon="$2" 3.44 - pid=$(pidof $daemon) 3.45 - if [ "$pid" != "" ]; then 3.46 - echo -n "Starting $daemon daemon..." 3.47 - case "$daemon" in 3.48 - httpd) 3.49 - httpd -u 80:80 -r "Seb OS Authentication" ;; 3.50 - esac; status 3.51 - else 3.52 - echo -n "Stopping $daemon daemon..." 3.53 - kill ${pid}; status 3.54 + -d|daemon*) 3.55 + # Handle daemons 3.56 + daemons="daemons" 3.57 + if [ ! "$2" ]; then 3.58 + title "Installed daemons" 3.59 + for d in $(ls $daemons); do 3.60 + . ${daemons}/${d} 3.61 + echo -n "${d}"; indent 20 "$desc"; unset desc 3.62 + done; footer "Use: $(basename $0) -d [daemon] [--start|--kill|--info]" 3.63 + exit 0 3.64 + fi 3.65 + if [ "$kill" ]; then 3.66 + pid=$(pidof $2) 3.67 + . ${daemons}/${2} 3.68 + echo -n "Killing: $desc (pid $pid)" 3.69 + kill ${pid} 2>/dev/null; status 3.70 + fi 3.71 + if [ "$start" ]; then 3.72 + . ${daemons}/${2} 3.73 + echo -n "Starting: $desc" 3.74 + start; status 3.75 + fi 3.76 + if [ "$info" ]; then 3.77 + . ${daemons}/${2} 3.78 + pid=$(pidof $2) 3.79 + [ ! "$pid" ] && pid="none" 3.80 + title "$desc" 3.81 + echo "$(colorize 036 Pidof $2:) $pid" 3.82 + [ "$pid" != "" ] && ps | grep "$pid" | grep -v "grep" | grep -v "sebos" 3.83 + footer 3.84 fi ;; 3.85 3.86 - -p|packages) 3.87 + -p|package*) 3.88 title "Installed packages" 3.89 IFS="|" 3.90 cat /var/lib/packages | while read pkg desc; do