diff --git a/gnu/services/base.scm b/gnu/services/base.scm index c40bc1a4c2fa5358d3db9540bedea660d333b63b..3b85363fe2ac2f09e78cb346b55a8deea6e15b18 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -578,7 +578,12 @@ (define (wait-for-udevd) (system* (string-append #$udev "/bin/udevadm") "settle") pid))))) - (stop #~(make-kill-destructor)))))) + (stop #~(make-kill-destructor)) + + ;; When halting the system, 'udev' is actually killed by + ;; 'user-processes', i.e., before its own 'stop' method was + ;; called. Thus, make sure it is not respawned. + (respawn? #f))))) (define (device-mapping-service target command) "Return a service that maps device @var{target}, a string such as