我如何知道进程阻止linux中的reboot命令?

时间:2017-03-30 16:39:30

标签: linux openwrt reboot busybox imx6

我将我的软件包和模块添加到openwrt中,然后reboot根本不起作用!!重新启动的唯一方法是使用reboot -fhard reset

我尝试删除startup scripts中由我添加的所有/etc/init.d。我甚至尝试删除/etc/modules.d/

的内容

我的/etc/rc.local文件只有一行exit 0

我应该在哪里调试来解决这个问题?所有这些软件包都在x86架构上提前工作。

我在基于openwrt chaos calmer的主席上使用imx6

1 个答案:

答案 0 :(得分:1)

据我所知,reboot使用shutdown命令。因此,当关闭时,Linux会将 SIGTERMs 发送到其进程。但是内核会保护处于不可中断状态的进程,以防止数据丢失。这可能会导致停止重新启动。

因此,在您的情况下,某些进程(特定于openwrt)可能处于不可中断状态。您可以通过ps aux命令列出具有未解释状态的进程(检查进程的STAT )。

Process State code

或者您可以通过ps -eo 'stat,pid,args' | grep -E 'D'

直接列出不间断状态

检查Linux process states以获取有关linux中进程的更多详细信息。