HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //snap/cups/1112/scripts/stop-cupsd
#! /bin/sh

set -e -x

# Exit if we are already shutting down cupsd
if [ -f "${SNAP_DATA}/var/run/stop-cupsd.lock" ]; then
    echo "==> We are already shutting down cupsd"
    exit 0
fi
touch "${SNAP_DATA}/var/run/stop-cupsd.lock"

# Shut down cups-browsed first, so that it can remove its temporary queues
# before CUPS shuts down
echo "==> Shutting down cups-browsed first"
$SNAP/stop-cups-browsed

if [ -e $SNAP_DATA/var/run/proxy-mode ]; then
    # Shut down cups-proxyd
    echo "==> Shutting down cups-proxyd"
    PID=$(cat "${SNAP_DATA}/var/run/cups-proxyd.pid" || true)
    if [ -n "${PID}" ] && kill -0 "${PID}" 2>/dev/null; then
	kill -TERM "${PID}"

	DEAD=0
	for i in $(seq 30); do
            if ! kill -0 "${PID}" 2>/dev/null; then
		DEAD=1
		break
            fi
            sleep 1
	done

	if [ "${DEAD}" = "0" ]; then
            echo "==> Forcefully killing cups-proxyd after 30 seconds wait"
            kill -9 "${PID}"
	fi
    fi
    rm -f $SNAP_DATA/var/run/cups-proxyd.pid
fi

# Shut down CUPS
echo "==> Shutting down CUPS"
PID=$(cat "${SNAP_DATA}/var/run/cupsd.pid" || true)
if [ -n "${PID}" ] && kill -0 "${PID}" 2>/dev/null; then
    kill -TERM "${PID}"

    DEAD=0
    for i in $(seq 30); do
        if ! kill -0 "${PID}" 2>/dev/null; then
            DEAD=1
            break
        fi
        sleep 1
    done

    if [ "${DEAD}" = "0" ]; then
        echo "==> Forcefully killing CUPS after 30 seconds wait"
        kill -9 "${PID}"
    fi
fi

# Removing PID file
rm -f "${SNAP_DATA}/var/run/cupsd.pid"
rm -f "${SNAP_DATA}/var/run/stop-cupsd.lock"