
Linux开发
伍意
这个作者很懒,什么都没留下…
展开
-
Linux死锁分析
1.工具 pstack 进程PID,多次查看线程状态,如果一直处于一样,则锁住了,需进一步分析 谁 拿了锁,为了方便对应代码分析 ,需要打印出线程的TID 非线程ID,{#include pid_t tid = (pid_t)syscall(SYS_gettid); }2. gdb attach PIDinfo threadt 1p mutex原创 2015-11-22 11:31:45 · 743 阅读 · 0 评论 -
linux内核添加新的模块
1.选定一个目录,注意分类,如我见添加一个USB驱动到内核,目录名字:usb(源码目录,里面有usb驱动文件usb_drive.c) 2.我选定目录linux-2.6.35.14/drive/usb/(假设:KERNELDIR = linux-2.6.35.14/drive/usb/),将usb拷贝到KERNEL下。 3.cd $(KERNELDIR )/usb, 创建Mak转载 2017-04-19 12:44:48 · 1522 阅读 · 0 评论 -
Linux防火墙iptables
转http://blog.chinaunix.net/uid-9950859-id-98278.htmliptables 指令语法:iptables [-t table] command [match] [-j target/jump]-t 参数用来指定规则表,内建的规则表有三个,分别是:nat、mangle 和 filter,当未指定规则表时,则一律视为是 filter。个规转载 2017-04-28 23:12:41 · 483 阅读 · 0 评论 -
关于 RTOS 的选择
转载自: http://blog.youkuaiyun.com/coolbacon/article/details/6398170(原创文章,欢迎转载,请注明出处)(1)引入RTOS?很多朋友和同事都问我,在实际中如何选择 RTOS。这个问题好难回答啊,非常复杂。实际中至少有三种情况:1.有些地方根本不需要 RTOS,可能系统设计者是爱好 RTOS 的人转载 2017-04-28 15:44:28 · 690 阅读 · 0 评论 -
linux 休眠与唤醒
在Linux中,休眠主要分三个主要的步骤:(1)冻结用户态进程和内核态任务;(2)调用注册的设备的suspend的回调函数;(3)按照注册顺序休眠核心设备和使CPU进入休眠态。 冻结进程是内核把进程列表中所有的进程的状态都设置为停止,并且保存下所有进程的上下文。当这些进程被解冻的时候,他们是不知道自己被冻结过的,只是简单的继续执行。如何让Linux进入休眠呢?用户可以通过读写转载 2017-04-28 13:41:19 · 1507 阅读 · 0 评论 -
Linux 下实现进程退出后自动重启
Linux 下实现进程退出后自动重启一般方案有21.采用脚本,网上很多,但对一些嵌入式系统因资源限制,大部分命令裁剪了,故不可行2.采用fork,父进程等待子进程退出一下采用fork 方法实现,对于重启多个进程,可采用(pid = waitpid( -1, &status, WNOHANG))避免多个进程同时重启导致僵尸进程#include #includ原创 2016-03-03 18:32:58 · 5639 阅读 · 1 评论 -
Linux下信号SIGCHLD处理不当产生僵尸进程的问题
LINUX 通过fork创建子进程时,如果子进程退出,内核会向父进程发送SIGCHLD信号,这样由父进程回收子进程的资源,避免产生僵尸进程,产生僵尸进程的本质是该进程的内核资源未被释放,本着谁创建谁释放的原则,则是父进程释放,所以需要在父进程处理SIGCHLD信号。一般代码如下: signal(SIGCHLD, OnSignalSIGCHLD);static void OnSi原创 2016-01-30 13:06:25 · 926 阅读 · 0 评论 -
Linux下服务器端使用EPOLL ACCEPT产生的问题
最近查了3天一个技术BUT,开始并不知道是网络问题,一步步定位,最终确定是网络接收问题。进而深入前人的代码才有所察觉,因这个问题是随机性,很难重现。找到了网络问题,立马写代码重现。果然立马重现了。确定是EPOLL accept问题。因为我们的问题是服务器端 接收缓冲区中一直有数据,拿不走,连接是已建立。看看我们的代码问题出在EPOLL的模式上,EPOLL有水平模式原创 2016-01-30 12:02:17 · 803 阅读 · 1 评论 -
Linux-pthread_create使用不当可能导致内存泄露
今天在解决一个时间同步问题时发现该模块 pthread_create 返回错误 ,资源不够;细看创建线程时未设为分离模式,故每次创建线程后,即使线程退出 ,如果不 pthread_join话,该线程资源不会被释放。详细参加 man文档 已标红!NAME pthread_create -- create a new threadSYNOPSIS原创 2015-12-22 23:13:11 · 645 阅读 · 0 评论 -
Visual C++ for Linux Development
https://blogs.msdn.microsoft.com/vcblog/2016/03/30/visual-c-for-linux-development/https://marketplace.visualstudio.com/items?itemName=VisualCPPTeam.VisualCforLinuxDevelopment vs2015 需要安装这个VS2转载 2017-06-24 00:16:07 · 4478 阅读 · 0 评论