+ $2 в качестве источника вызова
+ убрал bash, пока без него всё работает
+ добавлены проверки на успешность запуска и останова, улучшена логика работы
+ простой вариант дейсвтий reconfigure и kill
+ примитивный вариант запуска нескольких демонов из одного конфига ($PROC -> $PROCS, например, PROCS="smbd nmbd"). Как лучше реализовать передачу нескольких наборов переменных в скрипте?
Практически все скрипты привёл к стандартному виду, остались только syslog и rtorrent.
Как это выглядит сейчас:
Code:[routah:init.d] time /opt/etc/init.d/rc.unslung stop Stopping rtorrent: rtorrent. Checking asterisk... alive. Shutting down asterisk... done. Checking upnp... alive. Shutting down upnp... done. Checking udpxy... alive. Shutting down udpxy... done. Checking httpd... alive. Shutting down busybox_httpd... done. Checking atd... alive. Shutting down atd... done. Checking xinetd... alive. Shutting down xinetd... done. Checking cron... alive. Shutting down cron... done. Checking samba... alive. Shutting down smbd... done. Checking samba... alive. Shutting down nmbd... done. Checking dnsmasq... alive. Shutting down dnsmasq... done. Checking syslog-ng... alive. Shutting down syslog-ng... done. real 0m9.727s user 0m1.210s sys 0m4.280s [routah:init.d] time /opt/etc/init.d/rc.unslung start Starting syslog-ng... done. Starting dnsmasq... done. Starting samba... done. Starting samba... done. Starting cron... done. Starting xinetd... done. Starting atd... done. Starting httpd... done. Starting udpxy... done. Starting upnp... done. Starting asterisk... done. real 0m6.947s user 0m1.310s sys 0m4.260s [routah:init.d] time /opt/etc/init.d/rc.unslung kill Checking syslog-ng... alive. Killing syslog-ng... done. Checking dnsmasq... alive. Killing dnsmasq... done. Checking samba... alive. Killing smbd... done. Checking samba... alive. Killing nmbd... done. Checking cron... alive. Killing cron... done. Checking xinetd... alive. Killing xinetd... done. Checking atd... alive. Killing atd... done. Checking httpd... alive. Killing busybox_httpd... done. Checking udpxy... alive. Killing udpxy... done. Checking upnp... alive. Killing upnp... done. Checking asterisk... alive. Killing asterisk... done. Usage: /etc/init.d/ {start|manualstart|stop|manualrestart|restart|force-reload} real 0m5.157s user 0m1.380s sys 0m3.600s [routah:init.d] time /opt/etc/init.d/rc.unslung start Starting syslog-ng... done. Starting dnsmasq... done. Starting samba... done. Starting samba... done. Starting cron... done. Starting xinetd... done. Starting atd... done. Starting httpd... done. Starting udpxy... done. Starting upnp... done. Starting asterisk... done. real 0m6.572s user 0m1.260s sys 0m3.850s [routah:init.d] time /opt/etc/init.d/rc.unslung start Starting syslog-ng... already running. Starting dnsmasq... already running. Starting samba... already running. Starting samba... already running. Starting cron... already running. Starting xinetd... already running. Starting atd... already running. Starting httpd... already running. Starting udpxy... already running. Starting upnp... already running. Starting asterisk... already running. real 0m2.469s user 0m0.600s sys 0m1.850s