reboot和poweroff都Map到/bin/systemctl
,systemctl
如何控制关机和重启?systemctl
在输入reboot或poweroff时,如何获取应该执行哪个命令?
看起来reboot和poweroff都链接到了/bin/systemctl
➜ /usr/bin file /usr/sbin/reboot
/usr/sbin/reboot: symbolic link to /bin/systemctl
➜ /usr/bin file /usr/sbin/poweroff
/usr/sbin/poweroff: symbolic link to /bin/systemctl
➜ /usr/bin
➜ /usr/bin
➜ /usr/bin
➜ /usr/bin uname -a
Linux mi-OptiPlex-7080 5.15.0-76-generic #83~20.04.1-Ubuntu SMP Wed Jun 21 20:23:31 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
➜ /usr/bin
字符串
1条答案
按热度按时间des4xlb01#
systemctl如何控制关机和重启
当一个命令在Linux下执行时,它会收到参数。有一个特殊的,第一个或“零”参数,这是执行的进程的名称。参见
man execve
。字符串
systemctl的C程序只检查第0个参数并比较字符串。在伪代码中:
型
在真实的代码中,这里会发生这种情况:https://github.com/systemd/systemd/blob/main/src/systemctl/systemctl.c#L1083:。你可能也对
busybox
项目感兴趣。