今天有個需求,是必須在chroot當中,執行 power-off
想當然爾,第一個想到的是使用 shutdown now
於是馬上把shutdown 這個指令,移植到 chroot,執行後出現以下的訊息,但無法 poweroff
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
Failed to talk to init daemon
另外也試過,在chroot當中使用 kill -9 1 ,沒有出現錯誤訊息,但是一樣沒作用
(有在chroot當中kill某個 process,ex: kill -9 24, 是可以成功的)
google上面找到一個 /proc/sysrq-trigger 的方法,如下:
Step1:
先執行 echo 1 > /proc/sys/kernel/sysrq
Step2:
poweroff:
=> echo "o" > /proc/sysrq-trigger
reboot:
=> echo "b" > /proc/sysrq-trigger
更多用法可以參考
Ref: http://www.unixlinux.online/unixlinux/linuxjc/gylinux/201703/95680.html
# 立即重新啟動裝置
echo "b" > /proc/sysrq-trigger
# 立即關閉裝置
echo "o" > /proc/sysrq-trigger
# 導出內存分配的信息 (可以用/var/log/message 查看)
echo "m" > /proc/sysrq-trigger
# 導出當前CPU寄存器信息和標志位的信息
echo "p" > /proc/sysrq-trigger
# 導出線程狀態信息
echo "t" > /proc/sysrq-trigger
# 故意讓系統崩潰(kernel panic)
echo "c" > /proc/sysrq-trigger
# 立即重新掛載所有的文件系統
echo "s" > /proc/sysrq-trigger
# 立即重新掛載所有的文件系統為只讀
echo "u" > /proc/sysrq-trigger
Documentation for sysrq.c
Based on kernel version 2.6.38. Page generated on 2011-03-22 22:20 EST.
沒有留言:
發佈留言