
Linux
文章平均质量分 75
花括号
专注,极致,快!!!!!
展开
-
Linux 设置查看线程名字
设置线程名字:int CLinuxSysTools::setThreadTitle(const char* threadName){#ifdef LINUX return prctl(PR_SET_NAME, (unsigned long) threadName, 0, 0, 0) ;#else return 0 ;#endif}显示线程mingz原创 2021-05-28 17:45:51 · 2089 阅读 · 0 评论 -
ubuntu18.04 tcpdump 权限问题
在新装的ubuntu ubuntu18.04上使用tcpdump的命令进行抓包并保存致本地文件,当使用命令sudo tcpdump -i ens160 -w http.pcap 的时候,出现错误:tcpdump: Permission denied本地帐户是有sudo权限的,而且该账户不使用sudo权限能够在该目录创建文件,并没有报错,为何sudo 权限反倒 Permission Denied?自然,这个问题最好只能是tcpdump出了问题,google 了一下,发现这是Ubuntu系统下的权.原创 2021-03-10 11:50:09 · 1104 阅读 · 0 评论 -
生成RSA秘钥和pkcs1 pkcs8秘钥格式转化
genrsa -out rsa_private_key.pem 2048 # 生成pkcs1格式私钥, 2048位才能够使用rsawithsha-256 进行签名.openssl pkcs8 -topk8 -inform PEM -in private.pem -outform pem -nocrypt -out pkcs8.pemrsa -in rsa_private_key.pem -pubout -out rsa_public_key....原创 2021-01-05 11:45:53 · 1793 阅读 · 0 评论 -
Thrift 网络传输采用小端还是大端
就目前普遍的情况, 互联网行使用的服务器,主要以X86平台为主。X86平台是采用小端序的。 如果是公司内部使用的系统, 不是对外开发的接口。那么如果网络端如果采用小端序传输, 就不用转换成大端进行传输, 节省了大小端转换的工作, 提高了效率。 这对于网络IO任务较重的系统来说,效率的提升是有一定的帮助。那么Thrift作为一个应用广泛的 RPC 框架, 涉及很多的底层的二进制传输,那么thrift的底层传输,是通过大端还是小端传输? 下来来具体分析一下。file: TProtocol.h#ifd原创 2020-09-25 11:44:51 · 536 阅读 · 0 评论 -
linux find 命令使用记录解析
1、find . -mtime 0 :查找当前目录下的, 过去24小时内“文件内容”发生改变的文件。 根据手册,2、find . -mtime 1 : 查找当前目录下的, 过去24小时 到过去48小时之内文件发生修改的文件3、find . -mtime -1 : 等同于 find . -mtime 0, 过去24小时内文件内容发生改变的文件4、find . ...原创 2019-10-22 18:24:57 · 655 阅读 · 0 评论 -
redhat6.5 配置yum源, 使用centos的源
在新安装了redhat6.5.安装后,登录系统,使用yum install 安装软件。提示:This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.无法安装。如果redhat 默认自带的 yum 源需要注册,才能更新。如果想不原创 2017-07-26 12:32:59 · 643 阅读 · 0 评论 -
vim 保存只读文件的修改
有些时候用vim打开一些系统文件需要进行修改,改完之后发现没有进行sudo操作或者没有切到root权限下,通过网络搜索发现,其实在vim中是可以获取sudo权限并进行保存文件操作的。[html] view plain copy :w ! sudo tee % 命令:w ! {cmd},让vim执行一个外部命令{cmd},然后把当前缓冲区的内容从转载 2017-09-12 19:30:54 · 3632 阅读 · 0 评论 -
利用Linux coredump 进行debug
一, 设置coredump file size, 默认为0,此时系统并不产生coredump.[ansen@localhost ~]$ ulimit -acore file size (blocks, -c) 0data seg size (kbytes, -d) unlimitedscheduling priority原创 2015-11-26 17:16:29 · 834 阅读 · 0 评论 -
openssl 命令(2): openssl dgst 命令详解
open dgst命令的主要功能是,计算信息摘要(哈希), 给文件生成数字签名以及验证数字签名。 信息摘要算法的特点是: 1,输出数据定长, 即任意长度的输入数据,经过摘要算法都会得到订场的输出数据。 2,不可逆行, 由输出数据不能得到输入数据。 3,防碰撞, 对同一摘要算法, 输入数据不同,输出结果不同。 碰撞性有一定的概率,这也是衡量摘要算法的一个维度。 4,均匀分布, 输出...原创 2018-09-11 16:51:44 · 6259 阅读 · 0 评论 -
openssl 命令(1): openssl req 命令详解
openssl req命令主要的功能有,生成证书请求文件, 查看验证证书请求文件,还有就是生成自签名证书。本文就主要记录一下openssl命令选项的意义,并记录一下简单的命令示例。首先说明下生成证书请求需要什么:申请者需要将自己的信息及其公钥放入证书请求中。但在实际操作过程中,所需要提供的是私钥而非公钥,因为它会自动从私钥中提取公钥。另外,还需要将提供的数据进行数字签名(使用单向加密),...原创 2018-09-11 11:13:16 · 22021 阅读 · 0 评论 -
linux 读写锁的几种实现方式
c++读写锁的实现博客分类:c++ 一、使用互斥锁和条件变量实现读写锁: [cpp] view plaincopyclass readwrite_lock { public: readwrite_lock() : stat(0) { } void readLock()转载 2017-05-31 16:30:33 · 3564 阅读 · 0 评论 -
Python 中的var_dump, 对象打印
var_dump 是PHP中的调试函数,可以用var_dump打印所有的对象。查看对象内部的数据结构,对调试非常有用。python 中可以使用print str(object)这种方式打印对象内容,但是前提是类已经定义了__str__函数。如果没有定义那就没办法了。今天找到两种替代方案标记一下。1. from pprint import pprintpprint(d转载 2017-03-10 18:14:10 · 5065 阅读 · 0 评论 -
Linux网络编程socket错误分析
socket错误码: EINTR: 4阻塞的操作被取消阻塞的调用打断。如设置了发送接收超时,就会遇到这种错误。只能针对阻塞模式的socket。读,写阻塞的socket时,-1返回,错误号为INTR。另外,如果出现EINTR即errno为4,错误描述Interrupted system call,操作也应该继续。如果recv的返回值为0,那表明连接已经断开,接收操作也应该结束。转载 2017-02-20 18:32:27 · 580 阅读 · 0 评论 -
Linux下更改TCP window size, MSS, RTT
关于TCP window size, MSS, RTT具体的解释就不多说了,网上有很多的解释.但是最好的学习和复习的方法就是看TCP/IP第一卷协议,从17章开始。讲的很详细也讲了很多现象背后的原因。接下来我们主要是从实践的角度看在linux上如何改变这些TCP的属性的默认值。但是在某些系统中更该默认值不一定生效,因为取决于协议栈的实现。比如MSS,window是需要TCP客户端和服务段协商的。下原创 2015-12-25 11:48:43 · 22264 阅读 · 0 评论 -
linux 支持VLAN Trunk ethernet interface
IEEE 802.1Q VLAN TutorialContent1 Introduction2 Tagging3 VLAN numbering4 Trunk and access ports5 Port configuration6 Effect on the MTU7 VLAN Stacking8 Linux support9 Security c转载 2016-01-07 15:41:31 · 3073 阅读 · 0 评论 -
TCP 滑动窗口 (流量控制)
商业转载请联系作者获得授权,非商业转载请注明出处。作者:郭无心链接:http://www.zhihu.com/question/32255109/answer/68558623来源:知乎首先明确:1)TCP滑动窗口分为接受窗口,发送窗口滑动窗口协议是传输层进行流控的一种措施,接收方通过通告发送方自己的窗口大小,从而控制发送方的发送速度,从而达到防止发送方发送速度过快而导转载 2015-12-24 20:03:19 · 3008 阅读 · 0 评论 -
suid seuid 当前用户ID 有效用户ID
如果你对SUID、SGID仍有迷惑可以好好参考一下!Copyright by kevintz.由于用户在UNIX下经常会遇到SUID、SGID的概念,而且SUID和SGID涉及到系统安全,所以用户也比较关心这个问题。关于SUID、SGID的问题也经常有人提问,但回答的人一般答得不够详细,加上曾经回答过两个网友的问题,还查了一些资料,决定整理成本文,以供大家参考。限于本人的水平问题,转载 2016-02-24 21:29:38 · 1690 阅读 · 0 评论 -
Linux 日志管理 Logrotate
被遗忘的Logrotate发表于2013-04-21我发现很多人的服务器上都运行着一些诸如每天切分Nginx日志之类的CRON脚本,大家似乎遗忘了Logrotate,争相发明自己的轮子,这真是让人沮丧啊!就好比明明身边躺着现成的性感美女,大家却忙着自娱自乐,罪过!Logrotate的介绍显而易见,Logrotate是基于CRON来运行的,其脚本是「/et转载 2016-05-16 09:48:22 · 3570 阅读 · 0 评论 -
spinlock与linux内核调度的关系
spinlock与linux内核调度的关系关于自旋锁用法介绍的文章,已经有很多,但有些细节的地方点的还不够透。我这里就把我个人认为大家容易有疑问的地方拿出来讨论一下。一、自旋锁(spinlock)简介自旋锁在同一时刻只能被最多一个内核任务持有,所以一个时刻只有一个线程允许存在于临界区中。这点可以应用在多处理机器、或运行在单处理器上的抢占式内核中需要的锁定服务。二、信转载 2016-08-31 18:02:12 · 618 阅读 · 0 评论 -
用户态spinlock
spin用户态加锁源码分析源码分析版本:glic-2.9spin_lock加锁pthread_spin_lock:intpthread_spin_lock (lock) pthread_spinlock_t *lock;{ asm ("\n" "1:\t" LOCK_PREFIX "decl %0\n\t" //锁总线,开始加锁,在%0转载 2016-08-31 18:03:47 · 2219 阅读 · 0 评论 -
hbase 数据export/import (No enum constant org.apache.hadoop.mapreduce.JobCounter.MB_MILLIS_MAPS)
hadoop2.5.2 + hbase 0.98的环境下, 在使用hbase 导出数据时候遇到了一个问题。在使用hbase提供的一些基于mapreduce job的工具的时候。都出报出一些问题。比如下面两个工具 ./hbase org.apache.hadoop.hbase.mapreduce.Driver rowcounter bs2_file //mapreduc原创 2016-11-07 17:31:49 · 3173 阅读 · 0 评论 -
splice函数,高效的零拷贝
版权声明:本文为博主原创文章,未经博主允许不得转载。最近在看《linux高性能服务器编程》,在此做个日记,以激励自己,同时分享于有需要的朋友。1. splice函数[cpp] view plain copy #include ssize_t splice(int fd_in, loff_t *off_in, int fd_out, lof转载 2017-02-16 11:46:19 · 1522 阅读 · 0 评论 -
Linux free命令解释
free 是Linux 查看操作系统整体内存使用情况的最常用的命令。 但是FREE命令中的具体field代表哪些含义,这些field之间的具体关系是什么。恐怕还是有部分同学不太清楚。默认的单位是Kbyte。[ansen@localhost ~]$ free total used free原创 2015-11-25 13:47:19 · 878 阅读 · 0 评论