专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Android

碰倒一个神奇的有关问题,linux权限让你到处碰钉子

发布时间:2010-05-30 10:55:46 文章来源:www.iduyao.cn 采编人员:星星草
碰倒一个神奇的问题,linux权限让你到处碰钉子
最近老碰倒一些权限的问题,经常出现一下莫名其妙的错误。
我写了个可执行文件,去读内核的日志,执行文件的名字叫catkmsg,
代码catkmsg.c如下 :

C/C++ code

int main(int argc, char *argv[])   
{
        int  buf[BUF_SIZE+1];
       
        int n;
        int wfd;
    
 
        wfd = fileno(stdout);
    while(1){
        
        n = klogctl(KLOG_READ_CLEAR,buf,BUF_SIZE);
        LOGW("read log n=%d",n);
        write(wfd,buf,n);
        usleep(500*1000);
    }
    
    close(wfd);
    return 0;   
}  



在java中,使用如下代码调用,
dmesgProc = Runtime.getRuntime().exec("catkmsg");
但读不到数据,返回的n为-1

但是如果我使用,buzybox中的dmesg却可以读到内核日志,如下
dmesgProc = Runtime.getRuntime().exec("dmesg")

其实我写的catkmsg是模仿dmesg写的,但为什么dmesg可以读到,catkmsg却读不到日志呢,
请帮忙看看,谢谢?




------解决方案--------------------
没有人气,帮顶一下吧,希望楼主尽快解决问题
------解决方案--------------------
探讨
没有人气,,希望楼主尽快解决问题

------解决方案--------------------
不懂,帮顶下。
多找找 klogctl的用法
------解决方案--------------------
KLOG_READ_CLEAR,
clear? 你有权限这样做?read我觉得还行。你调dmesg,人家也只是读吧。。。
再说你这样调你确定是buzybox的,系统好像也有个binary的dmesg
------解决方案--------------------
KLOG_READ_CLEAR,
clear? 你有权限这样做?read我觉得还行。你调dmesg
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: