- 博客(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
2019-12-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人