Loading checkservices +28 −3 Original line number Diff line number Diff line Loading @@ -21,6 +21,33 @@ (( $UID != 0 )) && echo 'You need to be root' && exit 1 usage() { echo "usage ${0##*/} [options]" echo 'options:' echo ' -h: this help' >&2 echo ' -r: restart services' >&2 echo ' -l: list services' >&2 echo ' -R: reload services' >&2 echo " -n: don't call systemd daemon-reload" >&2 exit 1 } while getopts 'hrlRn' opt; do case $opt in r) systemd_cmd='restart';; R) systemd_cmd='reload';; n) daemon_reload=false;; l) list=true;; *) usage;; esac done shift $((OPTIND - 1)); (( $# > 0 )) && usage [[ -n "$systemd_cmd" || -n "$list" ]] || usage [[ $daemon_reload ]] || systemctl --system daemon-reload declare -a services services=($(systemctl -t service --full|grep \.service|grep running|sed -rn 's/^(.*\.service).*/\1/p')) Loading @@ -28,8 +55,6 @@ for svc in "${services[@]}"; do pid=$(systemctl show "$svc"|sed -nr 's/^MainPID=(.*)/\1/p') if readlink "/proc/$pid/exe"|grep -q '(deleted)'; then echo systemctl restart "$svc" [[ $1 == '-f' ]] && systemctl restart "$svc" [[ $systemd_cmd ]] && systemctl "$systemd_cmd" "$svc" fi done [[ -t 2 && $1 != '-f' ]] && echo 'Use -f to execute' >&2 || : Loading
checkservices +28 −3 Original line number Diff line number Diff line Loading @@ -21,6 +21,33 @@ (( $UID != 0 )) && echo 'You need to be root' && exit 1 usage() { echo "usage ${0##*/} [options]" echo 'options:' echo ' -h: this help' >&2 echo ' -r: restart services' >&2 echo ' -l: list services' >&2 echo ' -R: reload services' >&2 echo " -n: don't call systemd daemon-reload" >&2 exit 1 } while getopts 'hrlRn' opt; do case $opt in r) systemd_cmd='restart';; R) systemd_cmd='reload';; n) daemon_reload=false;; l) list=true;; *) usage;; esac done shift $((OPTIND - 1)); (( $# > 0 )) && usage [[ -n "$systemd_cmd" || -n "$list" ]] || usage [[ $daemon_reload ]] || systemctl --system daemon-reload declare -a services services=($(systemctl -t service --full|grep \.service|grep running|sed -rn 's/^(.*\.service).*/\1/p')) Loading @@ -28,8 +55,6 @@ for svc in "${services[@]}"; do pid=$(systemctl show "$svc"|sed -nr 's/^MainPID=(.*)/\1/p') if readlink "/proc/$pid/exe"|grep -q '(deleted)'; then echo systemctl restart "$svc" [[ $1 == '-f' ]] && systemctl restart "$svc" [[ $systemd_cmd ]] && systemctl "$systemd_cmd" "$svc" fi done [[ -t 2 && $1 != '-f' ]] && echo 'Use -f to execute' >&2 || :