在OpenWRT系统中,由于未内置`shutdown`命令,可以通过发送特定信号给系统进程实现关机操作。以下是具体方法:
一、使用信号发送关机
发送`SIGINT`信号(Ctrl+C) 打开终端,输入以下命令:
```bash
killall -INT
```
或者直接按 `Ctrl+C` 组合键,系统会提示确认关机。
发送`SIGTERM`信号
输入命令:
```bash
killall -TERM
```
这是更优雅的关机方式,会通知系统进程正常终止。
二、使用自定义关机脚本
创建关机脚本
在`/etc/init.d/`目录下创建一个新的脚本文件,例如`shutdown`:
```bash
vi /etc/init.d/shutdown
```
添加以下内容:
```bash
!/bin/sh
exec /sbin/shutdown -P now
```
保存并退出编辑器。
赋予执行权限
运行命令:
```bash
chmod +x /etc/init.d/shutdown
```
设置开机自启(可选)
编辑`/etc/rc.local`文件,在`exit 0`之前添加:
```bash
/etc/init.d/shutdown start
```
三、注意事项
信号发送的局限性: 部分进程可能忽略信号,导致关机失败。此时需强制关闭相关进程(如使用`kill -9`)。 替代方案
建议优先使用`killall -INT`或`killall -TERM`,若需脚本化操作则选择自定义关机脚本。