Linux系统编程
一书一茶一世界
这个作者很懒,什么都没留下…
展开
-
死锁,pstack,gdb简单排查死锁问题
什么是死锁?怎么排查死锁?怎么避免死锁?转载 2022-11-12 21:31:24 · 433 阅读 · 0 评论 -
gdbserver+attach+定位现场设备偶现BUG
原创 2021-10-18 15:44:11 · 778 阅读 · 0 评论 -
死锁排查——sysRq,strace,gdb
原创 2021-10-12 16:29:45 · 412 阅读 · 0 评论 -
gdb介绍和实战
本文我将简单介绍gdb调试的原理和编译,和常见的应用场景,具体由以下四点展开。一、gdb工作原理 gdb:GNU debugger UNIX及UNIX-like下一个强大的命令行的调试工具1.1、gdb整体架构 gdb调试的整体架构如下图所示:原创 2021-02-01 18:51:31 · 1204 阅读 · 0 评论 -
搭建嵌入式web服务器并控制外设
本文主要分为两部分:web服务器的搭建、实现web对外设的控制,主要涉及Boa+CGI+html一、web服务器的搭建我们需要用到boa,boa 是一个小型的 web 服务器,可执行代码只有约 60KB,可以用于多种平台,它一个单任务 web 服务器,只能依次完成用户的请求,在嵌入式中比较常见。boa 的官方网站为www.boa.org,可以在上面下载最新版本的 boa,这里我们使用的是 boa-0.94.13.tar.gz。第1步:boa的拷贝解压-我们需要先将boa-0.94.13.tar.g原创 2020-12-05 15:02:32 · 1753 阅读 · 0 评论 -
利用/proc/stat/文件信息计算cpu利用率
内核在文件/proc/stat中保存了有关自身活动的各种信息。所有的统计数字都是自系统启动后累加起来的。使用cat命令简单的查看下文件:通过查看Linux系统下该文件的信息,我们可以初步计算出系统CPU的利用率,代码如下:double gCpuRate; //挑选一个稳定的线程,定期(3秒)刷gCpuRatetypedef struct CPU_INFO{ char name[20]; unsigned int user; unsigned int nice; unsigned int原创 2020-05-12 10:17:57 · 1558 阅读 · 0 评论 -
如何查看线程的运行状态
问题:我的程序在其内部创建并执行了多个线程,我怎样才能在该程序创建线程后监控其中单个线程?我想要看到带有它们名称的单个线程详细情况(如,CPU/内存使用率)。 线程是现代操作系统上进行并行执行的一个流行的编程方面的抽象概念。当一个程序内有多个线程被叉分出用以执行多个流时,这些线程就会在它们之间共享特定的资源(如,内存地址空间、打开的文件),以使叉分开销最小化,并避免大量高成本的IPC(进程间通信)通道。这些功...原创 2020-05-11 10:47:51 · 8328 阅读 · 1 评论 -
linux进程通信———Posix消息队列简介及基础库函数
linux进程通信———Posix消息队列简介及基础库函数引言:消息队列可认为是一个消息链表,有足够写权限的线程可向队列中放置消息,...转载 2019-11-08 18:51:33 · 795 阅读 · 0 评论 -
文件写入的原子性讨论
文件写入的原子性讨论引入:pread,pwrite,read,write区别调用pread相当于顺序调用lseek和read,但pread和这种调用又有重大区别:调用pthread时,无法中断其定位和读操作,(lseek和read相当于一个原子操作)不更新文件指针调用pwrite相当于调用lseek和write,但也与它们有类似区别因为历史上有些系统不支持O_APPEND,才定义了...原创 2019-10-24 22:05:22 · 974 阅读 · 0 评论 -
tcpdump抓包分析(强烈推荐)
转自:https://mp.weixin.qq.com/s?__biz=MzAxODI5ODMwOA==&mid=2666539134&idx=1&sn=5166f0aac718685382c0aa1cb5dbca45&scene=5&srcid=0527iHXDsFlkjBlkxHbM2S3E#rd转自:http://www.jianshu.com/p...转载 2019-10-10 19:57:48 · 1036 阅读 · 0 评论 -
Linux- ps专题,可查线程CPU占用率
查看某个具体线程的CPU占用率,可用ps命令 ./ps -L c -e -o pid,tid,pcpu,cmd转载 2019-09-12 18:08:09 · 209 阅读 · 0 评论 -
linux-fifo
linux进程间通信之有名管道fifo本文通过具体的实例带你深入了解进程通信里的有名管道通信一、硬件工具一块已经烧录最小系统进去的开发板pc机U盘或TF卡或NFS二、软件工具ubuntu及虚拟机交叉编译器(此处采用的是Arm-2009q3)编辑器(此处采用的是notepad)超级终端vim编辑器三、读本文前得了解的知识交叉编译,文件函数的操作(open,write,rea...原创 2019-08-05 00:15:25 · 1184 阅读 · 0 评论 -
Linux proc/pid/task/tid/stat文件详解
[root@localhost ~]# cat /proc/6873/stat6873 (a.out) R 6723 6...原创 2019-07-26 21:31:17 · 2819 阅读 · 0 评论 -
系统级性能分析工具-Perf
从2.6.31内核开始,linux内核自带了一个性能分析工具perf,能够进行函数级与指令级的热点查找。perfPerf是内置于Linux内核源码树中的性能剖析(profiling)工具。它基于事件采样原理,以性能事件为基础,支持针对处理器相关性能指标与操作系统相关性能指标的性能剖析。常用于性能瓶颈的查找与热点代码的定位。 CPU周期(cpu-cycles)是默认的性能事件,所谓的CPU周...原创 2019-06-29 23:20:42 · 389 阅读 · 0 评论 -
Linux多线程
Linux多线程欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Mark...原创 2019-05-25 15:05:45 · 309 阅读 · 0 评论 -
搭建NFS
NFS 是 Network File System 的缩写,是由 SUN 公司研制的 UNIX 表示层协议(pressentation layer protocol),NFS 是基于 UDP/IP 协议的应用。它的最大功能就是可以通过网络让不同的机器,不通的操作系统彼此共享文件,可以通过 NFS 挂载远程主机的目录,访问该目录就像访问本地目录一样,所以也可以简单的将它看做一个文件服务器。通过 NF...原创 2018-11-21 22:03:49 · 200 阅读 · 0 评论