#!/bin/sh ########################################################################### # /usr/bin/service # # A convenient wrapper for the /etc/init.d init scripts. # # This script is a modified version of the /sbin/service utility found on # Red Hat/Fedora systems (licensed GPLv2+). # # Copyright (C) 2006 Red Hat, Inc. All rights reserved. # Copyright (C) 2008 Canonical Ltd. # * August 2008 - Dustin Kirkland <kirkland@canonical.com> # Copyright (C) 2013 Michael Stapelberg <stapelberg@debian.org> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # On Debian GNU/Linux systems, the complete text of the GNU General # Public License can be found in `/usr/share/common-licenses/GPL-2'. ########################################################################### is_ignored_file() { case "$1" in skeleton | README | *.dpkg-dist | *.dpkg-old | rc | rcS | single | reboot | bootclean.sh) return 0 ;; esac return 1 } VERSION="`basename $0` ver. 1.62" USAGE="Usage: `basename $0` < option > | --status-all | \ [ service_name [ command | --full-restart ] ]" SERVICE= ACTION= SERVICEDIR="/etc/init.d" OPTIONS= is_systemd= if [ $# -eq 0 ]; then echo "${USAGE}" >&2 exit 1 fi if [ -d /run/systemd/system ]; then is_systemd=1 fi cd / while [ $# -gt 0 ]; do case "${1}" in --help | -h | --h* ) echo "${USAGE}" >&2 exit 0 ;; --version | -V ) echo "${VERSION}" >&2 exit 0 ;; *) if [ -z "${SERVICE}" -a $# -eq 1 -a "${1}" = "--status-all" ]; then cd ${SERVICEDIR} for SERVICE in * ; do case "${SERVICE}" in functions | halt | killall | single| linuxconf| kudzu) ;; *) if ! is_ignored_file "${SERVICE}" \ && [ -x "${SERVICEDIR}/${SERVICE}" ]; then out=$(env -i LANG="$LANG" LANGUAGE="$LANGUAGE" LC_CTYPE="$LC_CTYPE" LC_NUMERIC="$LC_NUMERIC" LC_TIME="$LC_TIME" LC_COLLATE="$LC_COLLATE" LC_MONETARY="$LC_MONETARY" LC_MESSAGES="$LC_MESSAGES" LC_PAPER="$LC_PAPER" LC_NAME="$LC_NAME" LC_ADDRESS="$LC_ADDRESS" LC_TELEPHONE="$LC_TELEPHONE" LC_MEASUREMENT="$LC_MEASUREMENT" LC_IDENTIFICATION="$LC_IDENTIFICATION" LC_ALL="$LC_ALL" PATH="$PATH" TERM="$TERM" "$SERVICEDIR/$SERVICE" status 2>&1) retval=$? if echo "$out" | egrep -iq "usage:"; then #printf " %s %-60s %s\n" "[?]" "$SERVICE:" "unknown" 1>&2 echo " [ ? ] $SERVICE" 1>&2 continue else if [ "$retval" = "0" -a -n "$out" ]; then #printf " %s %-60s %s\n" "[+]" "$SERVICE:" "running" echo " [ + ] $SERVICE" continue else #printf " %s %-60s %s\n" "[-]" "$SERVICE:" "NOT running" echo " [ - ] $SERVICE" continue fi fi #env -i LANG="$LANG" LANGUAGE="$LANGUAGE" LC_CTYPE="$LC_CTYPE" LC_NUMERIC="$LC_NUMERIC" LC_TIME="$LC_TIME" LC_COLLATE="$LC_COLLATE" LC_MONETARY="$LC_MONETARY" LC_MESSAGES="$LC_MESSAGES" LC_PAPER="$LC_PAPER" LC_NAME="$LC_NAME" LC_ADDRESS="$LC_ADDRESS" LC_TELEPHONE="$LC_TELEPHONE" LC_MEASUREMENT="$LC_MEASUREMENT" LC_IDENTIFICATION="$LC_IDENTIFICATION" LC_ALL="$LC_ALL" PATH="$PATH" TERM="$TERM" "$SERVICEDIR/$SERVICE" status fi ;; esac done exit 0 elif [ $# -eq 2 -a "${2}" = "--full-restart" ]; then SERVICE="${1}" # On systems using systemd, we just perform a normal restart: # A restart with systemd is already a full restart. if [ -n "$is_systemd" ]; then ACTION="restart" else if [ -x "${SERVICEDIR}/${SERVICE}" ]; then env -i LANG="$LANG" LANGUAGE="$LANGUAGE" LC_CTYPE="$LC_CTYPE" LC_NUMERIC="$LC_NUMERIC" LC_TIME="$LC_TIME" LC_COLLATE="$LC_COLLATE" LC_MONETARY="$LC_MONETARY" LC_MESSAGES="$LC_MESSAGES" LC_PAPER="$LC_PAPER" LC_NAME="$LC_NAME" LC_ADDRESS="$LC_ADDRESS" LC_TELEPHONE="$LC_TELEPHONE" LC_MEASUREMENT="$LC_MEASUREMENT" LC_IDENTIFICATION="$LC_IDENTIFICATION" LC_ALL="$LC_ALL" PATH="$PATH" TERM="$TERM" "$SERVICEDIR/$SERVICE" stop env -i LANG="$LANG" LANGUAGE="$LANGUAGE" LC_CTYPE="$LC_CTYPE" LC_NUMERIC="$LC_NUMERIC" LC_TIME="$LC_TIME" LC_COLLATE="$LC_COLLATE" LC_MONETARY="$LC_MONETARY" LC_MESSAGES="$LC_MESSAGES" LC_PAPER="$LC_PAPER" LC_NAME="$LC_NAME" LC_ADDRESS="$LC_ADDRESS" LC_TELEPHONE="$LC_TELEPHONE" LC_MEASUREMENT="$LC_MEASUREMENT" LC_IDENTIFICATION="$LC_IDENTIFICATION" LC_ALL="$LC_ALL" PATH="$PATH" TERM="$TERM" "$SERVICEDIR/$SERVICE" start exit $? fi fi elif [ -z "${SERVICE}" ]; then SERVICE="${1}" elif [ -z "${ACTION}" ]; then ACTION="${1}" else OPTIONS="${OPTIONS} ${1}" fi shift ;; esac done run_via_sysvinit() { # Otherwise, use the traditional sysvinit if [ -x "${SERVICEDIR}/${SERVICE}" ]; then exec env -i LANG="$LANG" LANGUAGE="$LANGUAGE" LC_CTYPE="$LC_CTYPE" LC_NUMERIC="$LC_NUMERIC" LC_TIME="$LC_TIME" LC_COLLATE="$LC_COLLATE" LC_MONETARY="$LC_MONETARY" LC_MESSAGES="$LC_MESSAGES" LC_PAPER="$LC_PAPER" LC_NAME="$LC_NAME" LC_ADDRESS="$LC_ADDRESS" LC_TELEPHONE="$LC_TELEPHONE" LC_MEASUREMENT="$LC_MEASUREMENT" LC_IDENTIFICATION="$LC_IDENTIFICATION" LC_ALL="$LC_ALL" PATH="$PATH" TERM="$TERM" "$SERVICEDIR/$SERVICE" ${ACTION} ${OPTIONS} else echo "${SERVICE}: unrecognized service" >&2 exit 1 fi } update_openrc_started_symlinks() { # maintain the symlinks of /run/openrc/started so that # rc-status works with the service command as well if [ -d /run/openrc/started ] ; then case "${ACTION}" in start) if [ ! -h /run/openrc/started/$SERVICE ] ; then ln -s $SERVICEDIR/$SERVICE /run/openrc/started/$SERVICE || true fi ;; stop) rm /run/openrc/started/$SERVICE || true ;; esac fi } # When this machine is running systemd, standard service calls are turned into # systemctl calls. if [ -n "$is_systemd" ] then UNIT="${SERVICE%.sh}.service" case "${ACTION}" in restart|status|try-restart) exec systemctl $sctl_args ${ACTION} ${UNIT} ;; start|stop) # Follow the principle of least surprise for SysV people: # When running "service foo stop" and foo happens to be a service that # has one or more .socket files, we also stop the .socket units. # Users who need more control will use systemctl directly. for unit in $(systemctl list-unit-files --full --type=socket 2>/dev/null | sed -ne 's/\.socket\s*[a-z]*\s*$/.socket/p'); do if [ "$(systemctl -p Triggers show $unit)" = "Triggers=${UNIT}" ]; then systemctl $sctl_args ${ACTION} $unit fi done exec systemctl $sctl_args ${ACTION} ${UNIT} ;; reload) _canreload="$(systemctl -p CanReload show ${UNIT} 2>/dev/null)" # Don't block on reload requests during bootup and shutdown # from units/hooks and simply schedule the task. if ! systemctl --quiet is-system-running; then sctl_args="--no-block" fi if [ "$_canreload" = "CanReload=no" ]; then # The reload action falls back to the sysv init script just in case # the systemd service file does not (yet) support reload for a # specific service. run_via_sysvinit else exec systemctl $sctl_args reload "${UNIT}" fi ;; force-stop) exec systemctl --signal=KILL kill "${UNIT}" ;; force-reload) _canreload="$(systemctl -p CanReload show ${UNIT} 2>/dev/null)" if [ "$_canreload" = "CanReload=no" ]; then exec systemctl $sctl_args restart "${UNIT}" else exec systemctl $sctl_args reload "${UNIT}" fi ;; *) # We try to run non-standard actions by running # the init script directly. run_via_sysvinit ;; esac fi update_openrc_started_symlinks run_via_sysvinit
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
aa-remove-unknown | File | 3 KB | 0755 |
|
aa-status | File | 62.62 KB | 0755 |
|
aa-teardown | File | 137 B | 0755 |
|
add-shell | File | 1.03 KB | 0755 |
|
addgroup | File | 37.35 KB | 0755 |
|
adduser | File | 37.35 KB | 0755 |
|
agetty | File | 55.56 KB | 0755 |
|
apparmor_parser | File | 1.48 MB | 0755 |
|
apparmor_status | File | 62.62 KB | 0755 |
|
arpd | File | 26.33 KB | 0755 |
|
arptables | File | 219.04 KB | 0755 |
|
arptables-nft | File | 219.04 KB | 0755 |
|
arptables-nft-restore | File | 219.04 KB | 0755 |
|
arptables-nft-save | File | 219.04 KB | 0755 |
|
arptables-restore | File | 219.04 KB | 0755 |
|
arptables-save | File | 219.04 KB | 0755 |
|
badblocks | File | 34.32 KB | 0755 |
|
blkdeactivate | File | 15.97 KB | 0755 |
|
blkdiscard | File | 22.38 KB | 0755 |
|
blkid | File | 50.41 KB | 0755 |
|
blkzone | File | 34.38 KB | 0755 |
|
blockdev | File | 30.38 KB | 0755 |
|
bridge | File | 92.49 KB | 0755 |
|
capsh | File | 30.3 KB | 0755 |
|
cfdisk | File | 94.73 KB | 0755 |
|
chcpu | File | 30.38 KB | 0755 |
|
chgpasswd | File | 58.13 KB | 0755 |
|
chmem | File | 34.38 KB | 0755 |
|
chpasswd | File | 54.16 KB | 0755 |
|
chroot | File | 38.51 KB | 0755 |
|
cpgr | File | 48.29 KB | 0755 |
|
cppw | File | 48.29 KB | 0755 |
|
cryptdisks_start | File | 1.51 KB | 0755 |
|
cryptdisks_stop | File | 844 B | 0755 |
|
cryptsetup | File | 169.92 KB | 0755 |
|
cryptsetup-reencrypt | File | 90.38 KB | 0755 |
|
cryptsetup-ssh | File | 23.53 KB | 0755 |
|
ctrlaltdel | File | 14.38 KB | 0755 |
|
dcb | File | 80.52 KB | 0755 |
|
debugfs | File | 229.8 KB | 0755 |
|
delgroup | File | 16.11 KB | 0755 |
|
deluser | File | 16.11 KB | 0755 |
|
depmod | File | 170.34 KB | 0755 |
|
devlink | File | 142.86 KB | 0755 |
|
dhclient | File | 442.66 KB | 0755 |
|
dhclient-script | File | 15.92 KB | 0755 |
|
dmsetup | File | 171.01 KB | 0755 |
|
dmstats | File | 171.01 KB | 0755 |
|
dosfsck | File | 82.38 KB | 0755 |
|
dosfslabel | File | 38.38 KB | 0755 |
|
dumpe2fs | File | 30.31 KB | 0755 |
|
e2freefrag | File | 14.3 KB | 0755 |
|
e2fsck | File | 351.84 KB | 0755 |
|
e2image | File | 42.31 KB | 0755 |
|
e2label | File | 102.55 KB | 0755 |
|
e2mmpstatus | File | 30.31 KB | 0755 |
|
e2scrub | File | 7.13 KB | 0755 |
|
e2scrub_all | File | 5.27 KB | 0755 |
|
e2undo | File | 22.3 KB | 0755 |
|
e4crypt | File | 30.38 KB | 0755 |
|
e4defrag | File | 30.3 KB | 0755 |
|
ebtables | File | 219.04 KB | 0755 |
|
ebtables-nft | File | 219.04 KB | 0755 |
|
ebtables-nft-restore | File | 219.04 KB | 0755 |
|
ebtables-nft-save | File | 219.04 KB | 0755 |
|
ebtables-restore | File | 219.04 KB | 0755 |
|
ebtables-save | File | 219.04 KB | 0755 |
|
faillock | File | 14.15 KB | 0755 |
|
fatlabel | File | 38.38 KB | 0755 |
|
fdisk | File | 110.42 KB | 0755 |
|
filefrag | File | 18.32 KB | 0755 |
|
findfs | File | 14.38 KB | 0755 |
|
fsck | File | 42.42 KB | 0755 |
|
fsck.cramfs | File | 30.44 KB | 0755 |
|
fsck.ext2 | File | 351.84 KB | 0755 |
|
fsck.ext3 | File | 351.84 KB | 0755 |
|
fsck.ext4 | File | 351.84 KB | 0755 |
|
fsck.fat | File | 82.38 KB | 0755 |
|
fsck.minix | File | 54.41 KB | 0755 |
|
fsck.msdos | File | 82.38 KB | 0755 |
|
fsck.vfat | File | 82.38 KB | 0755 |
|
fsfreeze | File | 14.38 KB | 0755 |
|
fstab-decode | File | 18.3 KB | 0755 |
|
fstrim | File | 42.38 KB | 0755 |
|
genl | File | 90.44 KB | 0755 |
|
getcap | File | 14.3 KB | 0755 |
|
getpcaps | File | 14.3 KB | 0755 |
|
getty | File | 55.56 KB | 0755 |
|
groupadd | File | 66.91 KB | 0755 |
|
groupdel | File | 62.73 KB | 0755 |
|
groupmems | File | 54.19 KB | 0755 |
|
groupmod | File | 66.82 KB | 0755 |
|
grpck | File | 58.13 KB | 0755 |
|
grpconv | File | 50.01 KB | 0755 |
|
grpunconv | File | 50.01 KB | 0755 |
|
halt | File | 973.23 KB | 0755 |
|
hwclock | File | 50.5 KB | 0755 |
|
iconvconfig | File | 30.4 KB | 0755 |
|
init | File | 1.55 MB | 0755 |
|
insmod | File | 170.34 KB | 0755 |
|
installkernel | File | 2.6 KB | 0755 |
|
integritysetup | File | 54.07 KB | 0755 |
|
invoke-rc.d | File | 16.12 KB | 0755 |
|
ip | File | 597.62 KB | 0755 |
|
ip6tables | File | 219.04 KB | 0755 |
|
ip6tables-apply | File | 6.89 KB | 0755 |
|
ip6tables-legacy | File | 96.95 KB | 0755 |
|
ip6tables-legacy-restore | File | 96.95 KB | 0755 |
|
ip6tables-legacy-save | File | 96.95 KB | 0755 |
|
ip6tables-nft | File | 219.04 KB | 0755 |
|
ip6tables-nft-restore | File | 219.04 KB | 0755 |
|
ip6tables-nft-save | File | 219.04 KB | 0755 |
|
ip6tables-restore | File | 219.04 KB | 0755 |
|
ip6tables-restore-translate | File | 219.04 KB | 0755 |
|
ip6tables-save | File | 219.04 KB | 0755 |
|
ip6tables-translate | File | 219.04 KB | 0755 |
|
iptables | File | 219.04 KB | 0755 |
|
iptables-apply | File | 6.89 KB | 0755 |
|
iptables-legacy | File | 96.95 KB | 0755 |
|
iptables-legacy-restore | File | 96.95 KB | 0755 |
|
iptables-legacy-save | File | 96.95 KB | 0755 |
|
iptables-nft | File | 219.04 KB | 0755 |
|
iptables-nft-restore | File | 219.04 KB | 0755 |
|
iptables-nft-save | File | 219.04 KB | 0755 |
|
iptables-restore | File | 219.04 KB | 0755 |
|
iptables-restore-translate | File | 219.04 KB | 0755 |
|
iptables-save | File | 219.04 KB | 0755 |
|
iptables-translate | File | 219.04 KB | 0755 |
|
isosize | File | 14.38 KB | 0755 |
|
killall5 | File | 30.38 KB | 0755 |
|
ldattach | File | 26.38 KB | 0755 |
|
ldconfig | File | 387 B | 0755 |
|
ldconfig.real | File | 1.16 MB | 0755 |
|
logsave | File | 14.16 KB | 0755 |
|
losetup | File | 70.52 KB | 0755 |
|
lsmod | File | 170.34 KB | 0755 |
|
luksformat | File | 3.32 KB | 0755 |
|
mkdosfs | File | 50.83 KB | 0755 |
|
mke2fs | File | 130.62 KB | 0755 |
|
mkfs | File | 14.38 KB | 0755 |
|
mkfs.bfs | File | 22.38 KB | 0755 |
|
mkfs.cramfs | File | 34.32 KB | 0755 |
|
mkfs.ext2 | File | 130.62 KB | 0755 |
|
mkfs.ext3 | File | 130.62 KB | 0755 |
|
mkfs.ext4 | File | 130.62 KB | 0755 |
|
mkfs.fat | File | 50.83 KB | 0755 |
|
mkfs.minix | File | 42.39 KB | 0755 |
|
mkfs.msdos | File | 50.83 KB | 0755 |
|
mkfs.vfat | File | 50.83 KB | 0755 |
|
mkhomedir_helper | File | 22.17 KB | 0755 |
|
mklost+found | File | 14.3 KB | 0755 |
|
mkswap | File | 46.38 KB | 0755 |
|
modinfo | File | 170.34 KB | 0755 |
|
modprobe | File | 170.34 KB | 0755 |
|
netplan | File | 798 B | 0755 |
|
newusers | File | 74.73 KB | 0755 |
|
nfnl_osf | File | 18.3 KB | 0755 |
|
nologin | File | 14.3 KB | 0755 |
|
pam-auth-update | File | 20.5 KB | 0755 |
|
pam_extrausers_chkpwd | File | 22.15 KB | 2755 |
|
pam_extrausers_update | File | 30.15 KB | 0755 |
|
pam_getenv | File | 2.82 KB | 0755 |
|
pam_timestamp_check | File | 14.15 KB | 0755 |
|
pivot_root | File | 14.38 KB | 0755 |
|
plymouthd | File | 150.55 KB | 0755 |
|
poweroff | File | 973.23 KB | 0755 |
|
pwck | File | 50.13 KB | 0755 |
|
pwconv | File | 46.01 KB | 0755 |
|
pwunconv | File | 42.01 KB | 0755 |
|
readprofile | File | 22.41 KB | 0755 |
|
reboot | File | 973.23 KB | 0755 |
|
remove-shell | File | 1.07 KB | 0755 |
|
resize2fs | File | 66.3 KB | 0755 |
|
rfkill | File | 30.23 KB | 0755 |
|
rmmod | File | 170.34 KB | 0755 |
|
rmt | File | 58.57 KB | 0755 |
|
rmt-tar | File | 58.57 KB | 0755 |
|
rtacct | File | 28.31 KB | 0755 |
|
rtcwake | File | 34.38 KB | 0755 |
|
rtmon | File | 90.39 KB | 0755 |
|
runlevel | File | 973.23 KB | 0755 |
|
runuser | File | 54.38 KB | 0755 |
|
service | File | 8.88 KB | 0755 |
|
setcap | File | 14.3 KB | 0755 |
|
sfdisk | File | 102.38 KB | 0755 |
|
shadowconfig | File | 885 B | 0755 |
|
shutdown | File | 973.23 KB | 0755 |
|
sshd | File | 895.7 KB | 0755 |
|
start-stop-daemon | File | 47.35 KB | 0755 |
|
sudo_logsrvd | File | 200.1 KB | 0755 |
|
sudo_sendlog | File | 107.34 KB | 0755 |
|
sulogin | File | 42.38 KB | 0755 |
|
swaplabel | File | 18.38 KB | 0755 |
|
swapoff | File | 22.38 KB | 0755 |
|
swapon | File | 42.38 KB | 0755 |
|
switch_root | File | 22.38 KB | 0755 |
|
sysctl | File | 30.23 KB | 0755 |
|
tarcat | File | 936 B | 0755 |
|
tc | File | 614.08 KB | 0755 |
|
telinit | File | 973.23 KB | 0755 |
|
tipc | File | 90.44 KB | 0755 |
|
tune2fs | File | 102.55 KB | 0755 |
|
tzconfig | File | 106 B | 0755 |
|
unix_chkpwd | File | 26.15 KB | 2755 |
|
unix_update | File | 30.15 KB | 0755 |
|
update-ca-certificates | File | 5.29 KB | 0755 |
|
update-passwd | File | 34.56 KB | 0755 |
|
update-rc.d | File | 16.92 KB | 0755 |
|
update-shells | File | 3.72 KB | 0755 |
|
useradd | File | 127.66 KB | 0755 |
|
userdel | File | 86.85 KB | 0755 |
|
usermod | File | 123.46 KB | 0755 |
|
vdpa | File | 30.56 KB | 0755 |
|
veritysetup | File | 43.76 KB | 0755 |
|
vigr | File | 56.53 KB | 0755 |
|
vipw | File | 56.53 KB | 0755 |
|
visudo | File | 219.79 KB | 0755 |
|
wipefs | File | 38.38 KB | 0755 |
|
wpa_action | File | 1.69 KB | 0755 |
|
wpa_cli | File | 140.31 KB | 0755 |
|
wpa_supplicant | File | 3.24 MB | 0755 |
|
xtables-legacy-multi | File | 96.95 KB | 0755 |
|
xtables-monitor | File | 219.04 KB | 0755 |
|
xtables-nft-multi | File | 219.04 KB | 0755 |
|
zic | File | 62.32 KB | 0755 |
|
zramctl | File | 54.52 KB | 0755 |
|