# Example: task with a runtime condition.
#
# A 'task' may run for any duration but is expected to eventually
# exit cleanly. Unlike 'oneshot', tasks aren't expected to exit
# immediately. Unlike 'daemon', tasks never restart.
#
# The [condition] block declares pre-flight checks. If any condition
# fails at startup, the service enters STATE_SKIPPED without forking —
# no failure, no restart loop. Useful for platform probes.
[service]
type = "task"
description = "ACPI hotplug daemon (skipped on platforms without ACPI)"
[exec]
start = "/usr/sbin/example-acpihpd"
[condition]
# This file must exist for the service to start. If missing, the
# service is SKIPPED with reason "missing /dev/acpi".
exists_file = "/dev/acpi"
# Alternative form: at least one of these paths must exist (OR semantics
# across the list, AND with other condition keys).
# exists_file_any = ["/dev/acpi", "/dev/acpihp"]
# A command that must exit 0 (5-second timeout). Useful for richer
# probes than file existence — e.g., checking a hardware flag.
# command = "/usr/sbin/example-acpihpd --probe"