Loading

随笔分类 -  Linux

摘要:firewalld的基本使用 #启动 systemctl start firewalld #关闭 systemctl stop firewalld #查看状态 systemctl status firewalld #开机禁用 systemctl disable firewalld #开机启用 sys 阅读全文
posted @ 2019-10-27 20:57 街头卖艺的肖邦 阅读(171) 评论(0) 推荐(0) 编辑
摘要:说到条件变量,首先说下互斥锁,互斥锁是最一种同步形式,用于保护临界区,以保证任何时刻只有一个线程在执行其中的代码(假设互斥锁由多个线程共享),来保证共享数据的完整性,上锁过程如下图; 假如在一个程序中由3个线程访问一个共享变量g_Count,其中线程1和线程是负责对g_Count变量加一,线程3是负 阅读全文
posted @ 2019-02-28 01:48 街头卖艺的肖邦 阅读(1911) 评论(0) 推荐(0) 编辑
摘要:shell中将字符串列表转换成数组,需要将数组用括号来表示,元素用"空格"符号分割开,格式如下: 使用内置的分割符IFS 使用内置的分割符IFS 借助于tr命令来处理 借助于tr命令来处理 使用字符串替换,构造数组 使用字符串替换,构造数组 阅读全文
posted @ 2019-01-09 19:49 街头卖艺的肖邦 阅读(6157) 评论(0) 推荐(0) 编辑
摘要:例如shell脚本在centos系统中能正常执行,而在ubuntu系统中执行会出现类似Syntax error: "(" unexpected的错误,一般这种是因为sh与bash有些地方不兼容,解决方式: 1.执行bash xx.sh 2.执行chmod +x xx.sh对shell脚本赋予执行权限 阅读全文
posted @ 2019-01-09 18:28 街头卖艺的肖邦 阅读(4234) 评论(0) 推荐(0) 编辑
摘要:在LINUX用户态的情况下,如果想要延时的话,可以使用用sleep函数,但是在一些情况下,需要更小单位的延时,ms/us 也是要的。用循环获取到的延时是不精确的。 sleep是不准确,这个函数是可以中断的; sleep容易受到系统信号,例如SIGALRM影响,各个系统版本实现不一,sleep是个gl 阅读全文
posted @ 2018-12-10 20:00 街头卖艺的肖邦 阅读(1701) 评论(0) 推荐(0) 编辑
摘要:.gdbinit文件配置 阅读全文
posted @ 2018-10-23 21:23 街头卖艺的肖邦 阅读(978) 评论(0) 推荐(0) 编辑
摘要:动态库运行时搜索顺序 1.LD_PRELOAD LD_PRELOAD是一个环境变量,用于动态库加载,动态库加载的优先级最高; 2.-wl,-rpath 编译目标代码时指定的动态库搜索路径(指的是用-wl,-rpath),readelf -d 命令可以查看编译的目标文件中rpath的路径; -L指定编 阅读全文
posted @ 2018-10-19 19:58 街头卖艺的肖邦 阅读(2160) 评论(0) 推荐(0) 编辑
摘要:GDB信号处理 在GDB中使用handle命令定义一个信号处理。信号可以以SIG开头或不以 SIG开头,可以用定义一个要处理信号的范围(如:SIGIO-SIGKILL,表示处理从SIGIO信号到SIGKILL的信号,其中包括SIGIO, SIGIOT,SIGKILL三个信号),也可以使用关键字all 阅读全文
posted @ 2018-10-19 19:47 街头卖艺的肖邦 阅读(307) 评论(0) 推荐(0) 编辑
摘要:系统打开core dump功能 在终端中输入命令 ulimit -c ,输出的结果为 0,说明默认是关闭 core dump 的,即当程序异常终止时,也不会生成 core dump 文件; 使用命令 ulimit -c unlimited 来开启 core dump 功能,并且不限制 core du 阅读全文
posted @ 2018-10-10 23:52 街头卖艺的肖邦 阅读(4393) 评论(0) 推荐(0) 编辑
摘要:GDB是UNIX及UNIX-like下的调试工具,通常gdb使用前置条件:编译时加入debug信息,这里指的是C++。 gcc/g++调试选项 gcc/g++是在编译时加入-g,-g分4个等级: -g0等于不加-g;即不包含任何信息 -g1只包含最小信息,一般来说只有你不需要debug,只需要bac 阅读全文
posted @ 2018-09-13 15:32 街头卖艺的肖邦 阅读(1579) 评论(0) 推荐(0) 编辑
摘要:今天面试被问到一个问题,如何调试多进程的程序,我回答gdb attach [pid],之后又问如果程序中有些数据读取不对,但这种现象是偶然发生的,这时候要怎么操作,当时就懵了......,通过查找资料找到了答案,现在写篇博文记下来。 checkpoint 有些时候bug的出现是偶然发生的,如果有东西 阅读全文
posted @ 2018-09-05 23:22 街头卖艺的肖邦 阅读(809) 评论(0) 推荐(0) 编辑
摘要:1. 到GitHub下载源码,执行解压命令后,进入解压后的目录 2. 执行./autogen,生成configure 3. 执行./configure --prefix=/usr/local/,protobuf配置安装的路径,生成Makefile 4. 执行 make(编译用到C++11,保证g++ 阅读全文
posted @ 2018-08-21 22:54 街头卖艺的肖邦 阅读(8071) 评论(0) 推荐(0) 编辑
摘要:1.备份 2.下载新的CentOS-Base.repo 到/etc/yum.repos.d/ CentOS5 CentOS6 CentOS7 3.运行yum makecache生成缓存 阅读全文
posted @ 2018-08-19 23:37 街头卖艺的肖邦 阅读(202) 评论(0) 推荐(0) 编辑
摘要:在linux中安装源码,在源码目录下使用 ./configure --prefix=xxx --with=xxx 其中configure是一个可执行脚本, --prefix 选项就是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr/local/bin,库文件默认放在/usr/loc 阅读全文
posted @ 2018-04-22 19:47 街头卖艺的肖邦 阅读(332) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示