You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
2.0 KiB
TeX
61 lines
2.0 KiB
TeX
Because OpenWrt uses its own init script system, all init scripts must be installed
|
|
as \texttt{/etc/init.d/\textit{name}} use \texttt{/etc/rc.common} as a wrapper.
|
|
|
|
Example: \texttt{/etc/init.d/httpd}
|
|
|
|
\begin{Verbatim}
|
|
#!/bin/sh /etc/rc.common
|
|
# Copyright (C) 2006 OpenWrt.org
|
|
|
|
START=50
|
|
start() {
|
|
[ -d /www ] && httpd -p 80 -h /www -r OpenWrt
|
|
}
|
|
|
|
stop() {
|
|
killall httpd
|
|
}
|
|
\end{Verbatim}
|
|
|
|
as you can see, the script does not actually parse the command line arguments itself.
|
|
This is done by the wrapper script \texttt{/etc/rc.common}.
|
|
|
|
\texttt{start()} and \texttt{stop()} are the basic functions, which almost any init
|
|
script should provide. \texttt{start()} is called when the user runs \texttt{/etc/init.d/httpd start}
|
|
or (if the script is enabled and does not override this behavior) at system boot time.
|
|
|
|
Enabling and disabling init scripts is done by running \texttt{/etc/init.d/\textit{name} enable}
|
|
or \texttt{/etc/init.d/\textit{name} disable}. This creates or removes symbolic links to the
|
|
init script in \texttt{/etc/rc.d}, which is processed by \texttt{/etc/init.d/rcS} at boot time.
|
|
|
|
The order in which these scripts are run is defined in the variable \texttt{START} in the init
|
|
script. Changing it requires running \texttt{/etc/init.d/\textit{name} enable} again.
|
|
|
|
You can also override these standard init script functions:
|
|
\begin{itemize}
|
|
\item \texttt{boot()} \\
|
|
Commands to be run at boot time. Defaults to \texttt{start()}
|
|
|
|
\item \texttt{restart()} \\
|
|
Restart your service. Defaults to \texttt{stop(); start()}
|
|
|
|
\item \texttt{reload()} \\
|
|
Reload the configuration files for your service. Defaults to \texttt{restart()}
|
|
|
|
\end{itemize}
|
|
|
|
You can also add custom commands by creating the appropriate functions and referencing them
|
|
in the \texttt{EXTRA\_COMMANDS} variable. Helptext is added in \texttt{EXTRA\_HELP}.
|
|
|
|
Example:
|
|
|
|
\begin{Verbatim}
|
|
status() {
|
|
# print the status info
|
|
}
|
|
|
|
EXTRA_COMMANDS="status"
|
|
EXTRA_HELP=" status Print the status of the service"
|
|
\end{Verbatim}
|
|
|