| # -*-Shell-script-*- |
| # |
| # functions This file contains functions to be used by most or all |
| # shell scripts in the /etc/init.d directory. |
| # |
| # |
| # SPDX-License-Identifier: GPL-2.0-only |
| # |
| |
| NORMAL="\\033[0;39m" # Standard console grey |
| SUCCESS="\\033[1;32m" # Success is green |
| WARNING="\\033[1;33m" # Warnings are yellow |
| FAILURE="\\033[1;31m" # Failures are red |
| INFO="\\033[1;36m" # Information is light cyan |
| BRACKET="\\033[1;34m" # Brackets are blue |
| |
| # NOTE: The pidofproc () doesn't support the process which is a script unless |
| # the pidof supports "-x" option. If you want to use it for such a |
| # process: |
| # 1) If there is no "pidof -x", replace the "pidof $1" with another |
| # command like(for core-image-minimal): |
| # ps | awk '/'"$1"'/ {print $1}' |
| # Or |
| # 2) If there is "pidof -x", replace "pidof" with "pidof -x". |
| # |
| # pidofproc - print the pid of a process |
| # $1: the name of the process |
| pidofproc () { |
| |
| # pidof output null when no program is running, so no "2>/dev/null". |
| pid=`pidof $1` |
| status=$? |
| case $status in |
| 0) |
| echo $pid |
| return 0 |
| ;; |
| 127) |
| echo "ERROR: command pidof not found" >&2 |
| exit 127 |
| ;; |
| *) |
| return $status |
| ;; |
| esac |
| } |
| |
| machine_id() { # return the machine ID |
| awk 'BEGIN { FS=": " } /Hardware/ \ |
| { gsub(" ", "_", $2); print tolower($2) } ' </proc/cpuinfo |
| } |
| |
| killproc() { # kill the named process(es) |
| pid=`pidofproc $1` && kill $pid |
| } |
| |
| status() { |
| local pid |
| if [ "$#" = 0 ]; then |
| echo "Usage: status {program}" |
| return 1 |
| fi |
| pid=`pidofproc $1` |
| if [ -n "$pid" ]; then |
| echo "$1 (pid $pid) is running..." |
| return 0 |
| else |
| echo "$1 is stopped" |
| fi |
| return 3 |
| } |
| |
| success() { |
| echo -n -e "${BRACKET}[${SUCCESS} OK ${BRACKET}]${NORMAL}" |
| return 0 |
| } |
| |
| failure() { |
| local rc=$* |
| echo -n -e "${BRACKET}[${FAILURE} FAIL ${BRACKET}]${NORMAL}" |
| return $rc |
| } |
| |
| warning() { |
| local rc=$* |
| echo -n -e "${BRACKET}[${WARNING} WARN ${BRACKET}]${NORMAL}" |
| return $rc |
| } |
| |
| passed() { |
| local rc=$* |
| echo -n -e "${BRACKET}[${SUCCESS} PASS ${BRACKET}]${NORMAL}" |
| return $rc |
| } |