chiark / gitweb /
units: kill the emergency shell with SIGHUP
[elogind.git] / units / emergency.service
index 2e9d049..8745d10 100644 (file)
@@ -1,10 +1,23 @@
-[Meta]
+#  This file is part of systemd.
+#
+#  systemd 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.
+
+# See systemd.special(7) for details
+
+[Unit]
 Description=Emergency Shell
+DefaultDependencies=no
 
 [Service]
 ExecStart=/bin/sh
-Type=simple
 StandardInput=tty
 Restart=restart-always
 RestartSec=0
-KillMode=process
+KillMode=process-group
+
+# Bash ignores SIGTERM, so we send SIGHUP first, to ensure that bash
+# terminates cleanly.
+ExecStop=/bin/kill -HUP $(MAINPID)