自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小蜗牛之家

我要 一步一步往上爬

  • 博客(23)
  • 资源 (1)
  • 收藏
  • 关注

原创 [LINUX]命令行操作快捷键

命令行操作快捷键:几个常用快捷键方法:alt+d 向后删除单词;ctrl+w 向前删除单词;ctrl+r 打开历史命令搜索。ctrl+a 跳转到行首ctrl+e 跳转到行尾...

2019-07-31 22:46:35 69

原创 [PYTHON]获取尽可能随机的随机数

获取尽可能随机的随机数:python中的random模块虽然没有入参,可以设置seed参数的,如果不设置的话,默认就是使用time作为seed参数。但是这种默认,会使用int类型进行设置,这就导致了时间精度的降低,短时间内生成的随机数是相同的情况,可以手动指定一下(精确到更后面的小数点)。方法:import randomtime_seed = "%.20f" % time.time() ...

2019-07-30 22:17:31 566

原创 [PYTHON]Scons工具简介

Scons工具简介:Scons是一个类似于make的构建工具,通过定义Scons描述文件(Sconstruct),即可实现类似于make命令的本地编译功能。方法:基本框架是先绘制图,这里的绘制图是分散在不同目录下的不同文件中的(Sconstruct文件,和Makefile文件类似的作用);Sconstruct文件内部可建立对于其他节点、lib的依赖;Scons读取每个目录下定义的脚本文...

2019-07-29 22:31:19 1339

原创 [PYTHON]获取两个list的不同之处

获取两个list的不同之处方法:假设list1和list2是两个需要比较差异的列表:diff_list = list(set(list1) - set(list2))说明:转换为set再相减的目的去除list中重复的元素;...

2019-07-28 14:10:22 5699

原创 [C/C++]利用preload hook截获进程操作

利用linux preload so功能,改写一些glibc中的系统调用,实现监控对文件系统操作的功能。方法:生成自己的xxx.so,在运行程序前加上LD_PRELOAD=xxx.so例如:需要监控某个进程试图打开的文件?#include <dlfcn.h> #include "util.h" #include "unistd.h" using namespace std...

2019-07-28 14:03:42 1423

原创 [C]空间换时间,数组离散存储

诉求:用最少的内存存储尽量大的bool型变量(0,1),使得数组的大小尽可能大,按位存储。方法:①定义一个大小为1000的unsigned char类型的数组(实际可以存储8000个元素):unsigned char map[1000];②数组元素赋值:例如将index为6222的元素由原来的0置为1unsigned int index = 6222;unsigned int map...

2019-07-27 19:43:40 189

原创 [C语言]多线程几乎同时读写同一个内存地址时,出现变量概率不刷新问题

【现象】:linux,c语言程序, -O3优化。线程a对变量x赋值,int x=0,并将变量x地址传给线程b,线程b对变量x再次执行赋值操作x=2,此时在线程a内部访问变量x,值仍然为0,并未立刻刷新。【解决过程】:① 尝试对x变量类型前加volatile关键字:问题仍然存在,原因是虽然volatile会要求每次读取变量都从主存读取,但由于cpu cache的存在,仍然读取的是cache中的内...

2019-07-26 20:05:51 3861

原创 [LINUX]使用strace工具抓取程序运行过程中详细系统调用日志

使用strace工具抓取程序运行过程中详细系统调用日志方法:strace -f -F -ttt -v -s 5000 -o strace.log sh target说明:-f 递归的监控所有子进程的系统调用;-ttt 日志每一行打印精确到微秒的时间戳-v 打印系统调用的参数信息-s 5000 设置每一行字符串最大长度-o 输出文件名称可以通过man strace查看参数说明...

2019-07-25 22:25:39 789

原创 [LINUX]用ptrace来监控某一个进程的系统调用

用ptrace来监控某一个进程的系统调用方法:用execpl执行某个程序,并打上TRACE_ME标记即可如果要解决子进程启动新的进程也想要被监控的问题,可以使用Set Options的功能,来监控所有的fock、vfock等信息基本原理是在调用fock新生成一个进程的时候,会返回进程pid,如果返回不是0,就是父进程,如果返回0,就是子进程。这样就可以分别在父进程、子进程中执行一些操作:...

2019-07-24 20:20:28 1022

原创 [LINUX]查看某个进程打开的fd数量

查看某个进程打开的fd数量方法:ll /proc/pid/fd | wc -l说明:pid需要替换成进程的真实pid;如果有socket连接,用此方法也可以统计连接数。

2019-07-23 22:46:26 12325

原创 [LINUX]TOP命令按照内存占用和cpu占用排序

TOP命令按照内存占用和cpu占用排序方法:top命令按内存占用排序:top状态下,按shift+mtop命令按cpu排序:top状态下,按shift+p

2019-07-22 22:11:00 803

原创 [GIT]回退远程仓库的提交

回退远程仓库的提交方法:1.先本地分支回退到之前某个版本git reset HEAD^ --hard2.将本地回退内容强行push到远程git push --force说明:回退后远程仓库将查询不到最新的一些提交记录,谨慎操作。...

2019-07-21 14:16:34 352

原创 [LINUX]一次grep多条查询

一次grep多条查询方法:grep -E "sfdf|fdfds" xxx.txt说明:-E:正则匹配用’或’连接查询条件。

2019-07-20 21:15:20 926

原创 [MAKE]从makefile获取代码树形结构关系

从makefile获取代码树形结构关系方法:make -Bnd说明:-B:无条件进行编译(Build Always)-n:模拟编译-d:打印调试信息树形结构信息可通过正则匹配,从结果中解析获得。...

2019-07-19 20:20:08 696 1

原创 [LINUX]查看SO是32位还是64位

查看SO是32位还是64位方法:file xxx.so说明:windows dll 用dumpbin /HEADERS xxx.dll

2019-07-18 22:40:17 898

原创 [PYTHON]创建完全独立于主进程的后台进程,即便主进程退出,后台进程仍然继续执行

创建完全独立于主进程的后台进程,即便主进程退出,后台进程仍然继续执行方法:pid = os.fork()if pid == 0: os.umask(0) os.setsid() #do something os._exit(0) else: pass说明:s:关机t:倒计时后强制关机...

2019-07-17 20:12:15 1321

原创 [LINUX]搜索历史输入过的命令

搜索历史输入过的命令方法:1. 按ctrl+r,进入搜索界面;2. 输入关键字,会弹出最近的一条匹配的记录;3. 若不是预期的命令,继续按ctrl+r查看下一条匹配的记录;4. 直接按回车,执行命令;说明:如需要查看所有历史命令,使用history命令进行查看。...

2019-07-17 20:06:34 2473

原创 [PYTHON]将字典按照key值进行排序

将字典按照key值进行排序方法:sorted_dict = dict(sorted(orig_dict.items(), key=lambda kv: (kv[0])))说明:kv[0]表示按照key值进行排序

2019-07-17 20:02:07 1496

原创 [LINUX]循环执行某一条Command

循环执行某一条Command方法:while : ;do command; done说明:command替换成shell命令,可以执行多条命令,分号间隔;while之后需添加一个空格再加冒号;

2019-07-16 22:17:41 517

原创 [GIT]查看和某个commit id之间的差异

查看和某个commit id之间的差异方法:git diff commitid说明:之前的commit id可以通过git log查看

2019-07-15 22:36:20 2003

原创 [LINUX]删除目录下所有文件,但保留所有目录结构

删除目录下所有文件,但保留所有目录结构,即仅删除文件,不删除文件夹。方法:find /usr1/xxxxx -type f -exec rm {} \;说明:注意中间的空格,结尾的分号,一个都不能少,否则会报错。...

2019-07-14 20:19:05 2895

原创 [LINUX]查看cpu使用情况

linux查看cpu使用情况:方法:top查看:先运行top命令然后按数字1键可以看到cpu核心数量,内存,cpu占用等信息说明:top命令详细的参数说明: 了解更多...

2019-07-14 20:14:42 200

原创 [LINUX]查询网络连接数

查询linux当前网络连接数:方法:在命令行,运行linux shell命令netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'结果:ESTABLISHED 1368说明:用于统计处于各连接状态的连接数量。...

2019-07-14 20:04:26 439

cppreference查询手册2019.chm

收集于cppreference.com 20190607,用于C/C++ 11,17,20的常用API和特性查询,好用的话记得评论下,多谢。

2019-12-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除