
Linux
文章平均质量分 71
BeALinuxGraphicCoder
代码是最好的自我介绍
展开
-
Linux下分析进程segment fault的方法
长时间不用,命令容易忘,记录一下,以备忘.1. 程序在编译时,记得加 -g 选项,以生成带符号表的目标程序.2. 执行:sudo echo "core" > /proc/sys/kernel/core_pattern //需要root权限.进程碰到段错误后,生成名为core的文件,并存放在进程同目录.ulimit -c unlimited3. 段错误发生后,执行:...原创 2018-06-30 17:05:59 · 2792 阅读 · 0 评论 -
Linux进程的几种死法
Linux进程正常退出,可以通过在main()函数里面return,或调用exit(),或调用abort().除去代码之外,Linux还定义了如下几个signal,进程在收到这些signal后,会执行一些规定的动作再退出.SIGINT: Ctrl和C的组合键会产生该signal,进程收到后直接退出;SIGQUIT: Ctrl和\的组合键会产生该signal,进程收到后生成核心转储文件,然后退出;...原创 2018-06-25 21:52:49 · 553 阅读 · 0 评论 -
在Linux下如何保证只创建一个进程
在Linux下,如果不加限制,同一个程序,可以有多个运行实例,也称之为进程.它们都有一样的名字,执行着一样的代码段.不同的是,它们拥有不同的pid以及进程空间.有时候,希望同一时间只能创建一个进程.下面这段示例代码就加了这样一个限制.核心点:1. 进程在启动时,判断/tmp/my_pid_file是否存在;如果不存在,则将当前进程的pid写入,程序继续运行;2. 如果/tmp/my_pid_fil...原创 2018-06-26 22:26:50 · 2425 阅读 · 2 评论 -
论malloc()后忘记初始化(memset)的后果
始终牢记:malloc后,一定记得memset,否则,隐藏的BUG折腾死人!下面这段简单的程序,在create_node()函数中,malloc后,忘了memset,结果运行时出现如下错误.还好代码规模不大,gdb跟踪后发现了异常.如果在一个庞大的工程中,忘了memset,问题就不一定好找了$ ./NodeMallocFree key=the first element, value=Alak...原创 2018-07-02 21:34:31 · 7088 阅读 · 1 评论 -
Linux下如何让普通用户运行特权程序访问受限文件
问题: 如下这个文件,由root账号创建,权限为 rw-r-----,即对普通用户来说,read/write权限都没有.-rw-r----- 1 root root 0 7月 9 21:22 rootfile在非root账号即普通用户账号下,试图读取该文件会报错:$ cat rootfile cat: rootfile: 权限不够在某些特殊情况下,普通用户也需要读取该文...原创 2018-07-09 22:01:24 · 3809 阅读 · 0 评论 -
Linux下一个进程为什么会被其他进程株连而死
前两天,有同事发现一个奇怪的BUG,简化来说,有两个进程:A和B。当使用kill -9将进程B杀掉后,进程A有时也会退出,但有时不会,概率性出现。问题抛到我这,我之前也没有看过进程A和进程B的实现代码,不清楚他们之间有什么关联。我的解题思路:1. 确认在进程A、B都正常运行的时候,不会有哪个会突然退出? --- 经确认不存在2. 确认就是在杀掉进程B后,进程A概率性退出? --...原创 2018-09-07 21:59:06 · 477 阅读 · 0 评论 -
EGL Off-Screen rendering using GBM
最近研究EGL的off-screen rendering,特别是使用GBM这块,网上资料很少。综合搜集到的资料,整合了一个小demo。很多注意事项都写在代码注释里面了。EGL Spec的介绍,没有提及如何使用GBM进行off-screen rendering。因为这属于native platform的实现。EGLSurfaces:1. windows: used for onscreen...原创 2019-09-06 11:45:26 · 3645 阅读 · 15 评论