udevd启动失败问题
最近用到udev自动挂载U盘,下载udev源码编译后,放在设备里运行,发现udev启动后立即就退出了,
通过加--debug参数可以看到输出错误信息:
[root@DMF:dev]#mkdir .udev
[root@DMF:dev]#/mnt/nfs/udevd --debug
1546503238.330930 [12471] parse_file: reading '/etc/udev/rules.d/10-add-usb.rules' as rules file
1546503238.334515 [12471] parse_file: reading '/etc/udev/rules.d/10-remove-usb.rules' as rules file
1546503238.336570 [12471] parse_file: reading '/etc/udev/rules.d/11-add-sd.rules' as rules file
1546503238.342339 [12471] parse_file: reading '/etc/udev/rules.d/11-remove-sd.rules' as rules file
1546503238.346703 [12471] udev_rules_new: rules use 420 bytes tokens (35 * 12 bytes), 318 bytes buffer
1546503238.347162 [12471] udev_rules_new: temporary index used 300 bytes (15 * 20 bytes)
1546503126.204165 [12140] rebuild_queue_file: failed to create queue file: No such file or directory
1546503126.206204 [12140] main: error creating queue file
从错误信息上看,是创建文件失败:
1546503126.204165 [12140] rebuild_queue_file: failed to create queue file: No such file or directory
1546503126.206204 [12140] main: error creating queue file
于是就在源代码中搜索这个这个错误打印:“failed to create queue file”:
grep -rn "failed to create queue file" *
搜索结果如下:
libudev/libudev-queue-private.c:270: err(udev_queue_export->udev, "failed to create queue file: %m\n");
匹配到二进制文件 libudev/.libs/libudev-private.a
匹配到二进制文件 libudev/.libs/libudev-queue-private.o
匹配到二进制文件 udev/udevd
还好只有一个地方,比较容易定位问题,打开文件libudev/libudev-queue-private.c跳到270行:
第270行打印的错误信息,但是有好几个地方都会goto到这里,还需要定位下是从那里goto到这里的,向上翻代码,查看,上面的代码是写文件的,一般出现“No such file or directory”的信息,是在打开文件时报错的,就在打开文件的地方加了一条打印信息,把文件名和路径打印出来:
然后重新编译运行,输出信息为:
filename_tmp: /dev/.udev/queue.tmp, line: 225
打开文件时用的模式是“w+”,所以判断应该是目录不存在导致的,查看dev下,.udev目录是不存在的,手动创建后,再次运行都正常了;
个人微信服务号同步推送文章(微信公众号:fensTeck):
udevd启动失败问题的更多相关文章
- windows service 1053错误 启动失败
做项目移植的时候发现一个项目的window service启动失败,最后试出来是启动时间超时 解决办法是给window service设置一个长一点的等待时间,步骤如下: 启动,输入regedit启动 ...
- 玩转Windows服务系列——无COM接口Windows服务启动失败原因及解决方案
将VS创建的Windows服务项目编译生成的程序,通过命令行 “服务.exe -Service”注册为Windows服务后,就可以通过服务管理器进行管理了. 问题 通过服务管理器进行启动的时候,发现服 ...
- ubuntu升级内核后vmware-player启动失败
在虚拟机软件中,vmware player是对硬件支持很好的,通过它可以很方便的使用网银.单片机开发等等工作.但是最近ubuntu每次升级内核后,vmware都会启动失败,提示:Before you ...
- CentOS 7下MySQL服务启动失败的解决思路
今天,启动MySQL服务器失败,如下所示: [root@spark01 ~]# /etc/init.d/mysqld start Starting mysqld (via systemctl): Jo ...
- 服务器重启后SQL Server Agent由于"The EventLog service has not been started" 启动失败
案例环境: 操作系统 : Microsoft Windows Server 2003 Standard Edtion SP2 数据库版本 : SQL Server 2005 Standard Ed ...
- db2start启动失败
db2start启动失败 [db2inst1@localhost ~]$ db2start db2start: error while loading shared libraries: libaio ...
- PHP5.6启动失败
PHP编译安装完毕,启动失败,提示 1 [23-Jun-2014 12:27:02] ERROR: failed to open configuration file '/usr/local/php/ ...
- IIs管理服务一直启动失败的原因之一
首先eventlog里面的日志: 万维网发布服务(WWW 服务)没有为站点 1 注册 URL 前缀 https://*:8172/.该站点已被禁用.数据字段包含错误号. IISWMSVC_STARTU ...
- win10 MySQL启动失败问题
系统升级到win10之后,本地装的MySQL却突然不能启动,系统显示明明就有,可是总是启动失败.在这里解决一下: 解决win10 mysql服务消失,连接不上的问题,注意:以管理员身份运行DOS命令 ...
随机推荐
- 解决Linux搜狗输入法工具栏无法移动
问题的出现 前两天一位朋友(@午后下午茶)发现一个有趣的情况: 为了复现bug,我把自己的输入法工具栏也挪到了顶栏,果然也无法挪动了 解决方法 原理不明,但解决方法很简单. 如图所示,随便找个输入框打 ...
- python 追踪函数调用
from flask import Flask import traceback app = Flask(__name__) @app.route('/') def hello_world(): tr ...
- java 数据结构(十一):Map接口
双列集合框架:Map1.常用实现类结构 |----Map:双列数据,存储key-value对的数据 ---类似于高中的函数:y = f(x) * |----HashMap:作为Map的主要实现类:线程 ...
- python 装饰器(八):装饰器实例(五)函数装饰器装饰类以及类方法
函数装饰器装饰类 单例模式 from functools import wraps def singleton(cls): instances = {} @wraps(cls) def get_ins ...
- Unity - NavMeshAgent-GetStart
Select scene geometry that should affect the navigation – walkable surfaces and obstacles. Check Nav ...
- 集合-ConcurrentLinkedQueue 源码解析
问题 (1)ConcurrentLinkedQueue是阻塞队列吗? (2)ConcurrentLinkedQueue如何保证并发安全? (3)ConcurrentLinkedQueue能用于线程池吗 ...
- 图文详解在Windows系统中安装JDK
本文以在Windows10中安装JDK8为例进行安装,其他系统和版本都是大同小异的. 下载 进入Oracle官方网站的下载页面:https://www.oracle.com/technetwork/j ...
- OSCP Learning Notes - Post Exploitation(3)
Post-Exploit Password Attacks 1. Crack using the tool - john (Too slow in real world) Locate the roc ...
- echarts 实战 : 恼人的间隔问题
使用 echarts 的时候,可能我们需要这个图表的间隔是固定的.比如 3个 4个 5个. (注意计算间隔数量的时候是不算 x轴 本身的.) 这个问题看似简单,其实有点麻烦. yAxis.splitN ...
- 地图热点 jquery.image-maps.js 的使用
在我悠闲了几天之后,我们后端给了我个任务,地图热点问题.简单来说,就是后台划出热点区域,设置链接,前端拿到数据渲染页面,显示热点区域.我主要使用了jquery.image-maps.js,并且添加了一 ...