On Sat, May 27, 2017 at 2:51 PM, Michał Zegan <webczat_...@poczta.onet.pl> wrote: > Hello. > > I came across the following: > The manpage reboot(2) says, that inside of a pid namespace, a reboot > call that normally would trigger restart actually triggers sending > sighup to the init of a namespace, and sigint is sent in case of > halt/poweroff. > I have verified that reboot actually triggers sighup. does it mean you > cannot "reboot -f" in a pid namespace, because it will actually trigger > something like "systemctl daemon-reload"? (confusing behavior)... > About poweroff, I used unshare -Upfr and then typed poweroff -f, and the > bash started by unshare exited. Bash does not exit on sigint, so not > sure what was sent? sigkill? > Also, how does systemd handle this case when you tell systemd to power > off/reboot? it probably exits instead of calling reboot(2), but does it > make it possible to distinguish reboot from power off? > Sorry for such an partially offtopic question.
I think that section of reboot(2) is inaccurate. I don't see any trappable signal actually being sent to the init process. What actually seems to happen is this: - All processes in the PID namespace are terminated by the kernel (SIGKILL?). - The exit status on the "init" process is set so that it appears to have been killed using SIGHUP or SIGINT. The parent process can use this to distinguish between a reboot and a halt request. _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel