
Linux
基于《鸟哥的Linux私房菜》和一些系统编程网络编程中遇到的Linux相关知识
好吃还得是柚子
首先,少年,答应了别人的事就一定要做到
展开
-
解决VScode调试时报错GDB failed with message
调试报错界面信息如下原因及解决办法原因:代码路径中存在中文名,导致出现这样的问题解决办法:修改代码路径的中文名为英文路径即可正常调试情况原创 2021-05-01 09:59:39 · 7628 阅读 · 8 评论 -
valgrind检测的5种内存泄漏情况详解
摘要:valgrind是linux下用于调试程序和查找内存泄露的常用工具。valgrind会报告5种内存泄露,“definitely lost”, “indirectly lost”, “possibly lost”, “still reachable”, and “suppressed”。笔者于工作闲暇之余对这5种(其实是4种,有一种没研究出结果)内存泄露的出现原因及区别进行了研究,撰此文以记之。官方解释及分析:摘自http://valgrind.org/docs/manual/faq.html#f转载 2021-04-30 12:53:15 · 6801 阅读 · 1 评论 -
Tomcat详细简介
转载链接:lhttps://blog.youkuaiyun.com/u014231646/article/details/79482195一、概念Tomcat 服务器是一个开源的轻量级Web应用服务器,在中小型系统和并发量小的场合下被普遍使用,是开发和调试Servlet、JSP 程序的首选。二、原理Tomcat结构图:Tomcat主要组件:服务器Server,服务Service,连接器Connector、容器Container。连接器Connector和容器Container是Tomcat的核心。一个Co转载 2021-04-18 14:08:57 · 318 阅读 · 0 评论 -
gdb调试常见指令总结
gdb调试常见指令前提:调试的程序编译时需要使用 -g命令 **1. 启动gdb** start -- 只执行一步 n -- next s -- step(单步) -- 可以进入到函数体内部 c - continue -- 直接停在断点的位置 **2. 查看代码:** l -- list l 10(函数名) l filename:行号(函数名) **3. 设置断点:** 设置当前文件断点:原创 2021-03-14 13:07:13 · 442 阅读 · 0 评论 -
linux中统计某一目录下文件的代码的总行数
代码如下:find . -name "*.cpp"|xargs cat|grep -v ^$|wc -lfind . -name "*.h"|xargs cat|grep -v ^$|wc -l执行效果原创 2021-03-02 21:02:59 · 585 阅读 · 0 评论 -
如何屏蔽SIGPIPE信号
#include <stdlib.h>#include <sys/signal.h>//默认读写一个关闭的socket会触发sigpipe信号 该信号的默认操作是关闭进程 这明显是我们不想要的//所以我们需要重新设置sigpipe的信号回调操作函数 比如忽略操作等 使得我们可以防止调用它的默认操作 //信号的处理是异步操作 也就是说 在这一条语句以后继续往下执行中如果碰到信号依旧会调用信号的回调处理函数//处理sigpipe信号void handle_for_s原创 2021-02-10 13:08:18 · 1808 阅读 · 0 评论 -
Linux知识点 | select和epoll的区别、原理、性能、限制
说一说select原理select相关调用函数void FD_ZERO(fd_set *set); // 将set清空为0void FD_CLR(int fd, fd_set *set); // 将fd从set中清除出去void FD_SET(int fd, fd_set *set); // 将fd设置到set中去int FD_ISSET(int fd, fd_set *set); // 判断fd是否在集合中select在使用前,先将需要监控的描述符对应的bi位置1,然原创 2021-02-06 08:51:45 · 1479 阅读 · 0 评论 -
Linux下Web性能压力测试工具之WebBench
WebBenchan安装wget http://www.ha97.com/code/webbench-1.5.tar.gztar zxvf webbench-1.5.tar.gzcd webbench-1.5makemake installWebBench使用webbench -c 1000 -t 60 http://192.168.80.157/phpinfo.php// webbench -c 并发数 -t 运行测试时间 URLApache测试实例结果并发数为300时root原创 2021-02-04 08:37:07 · 395 阅读 · 0 评论 -
ubuntu16.04中vim编辑常用功能配置教程
首先打开终端,输入以下代码sudo vim /etc/vim/vimrc在vim的命令行模式下输入大写G达到最后一行输入小写i,进入vim的编辑模式,在最后一行添加如下两行代码set autorndent set cindent前者代表的是回车时自动对齐,后者代表自动缩进。但是有时候会出现默认自动缩进距离为8个space空格距离。查阅了一些资料,发现同样可以在此配置文件中添加一些语句改变自动缩进的距离。同样默认的vim在输入()后光标停留位置是)后,并不在()中,查阅资料,可以再同样的配置原创 2021-01-28 20:13:37 · 488 阅读 · 0 评论 -
Linux下对‘pthread_create’未定义的引用的解决办法
在编写一个简单的多线程test.c时,已经在test.c文件中包含了头文件,程序缺一直报错,错误提示代码如下输入命令man pthread_create查看帮助文档发现,pthread库其实并非Linux系统默认的库,在链接使用时需要使用库libpthread.a,在使用pthread_create创建线程时,需要在编译中要加-pthread参数指令完成编译与链接添加-pthread指令后的编译效果,编译成功并得到了可执行文件pthread_create...原创 2021-01-28 08:22:27 · 8829 阅读 · 9 评论 -
硬链接、软链接的关系
硬链接与软链接的联系在Linux操作系统中,文件被分为两个部分:用户数据(user data)与元数据(metadata)。用户数据代表文件数据块(data block),数据块则代表记录文件真实内容的地方;元数据仅仅为文件的一些附加属性,例如文件大小、文件创建时间、文件所有者、文件所属权限等等的相关附加属性信息。在Linux文件系统中,元数据中的inode索引节点号才是文件的唯一标识。而文件名并不具备这种唯一标识作用,文件名的作用仅仅是为了方便人们对文件的记忆而已,对于系统或程序而言,都是通过inode原创 2021-01-25 19:43:58 · 791 阅读 · 0 评论