- 博客(236)
- 收藏
- 关注
转载 JSON-C
//----------------------------------------------------//AUTHOR: lanyang123456//DATE: 2014-12-13//----------------------------------------------------json-c介绍与库下载请参考https://github.com/json-c/json-c/wik
2017-11-14 13:33:32
1212
转载 python 装饰器
python 是一门优雅的语言,有些使用方法就像魔法一样。装饰器(decorator)就是一种化腐朽性为神奇的技巧。最近一直都在使用 Tornado 框架,一直还是念念不忘 Flask 。Flask 是我最喜欢的 Python 框架,最早被它吸引也是源自它使用装饰器这个语法糖(Syntactic sugar)来做 Router,让代码看上去就感觉甜甜的。Tornado 中的 Router 略显
2017-10-21 22:33:35
674
转载 snort
PortScan_preprocessor 向标准记录设备中记录从一个源IP地址来的端口扫描的开始和结束。如果指定了一个记录文件,在记录扫描类型的同时也记录目的IP地址和端口。端口扫描定义为在时间T(秒)之内向超过P个端口进行TCP连接尝试,或者在时间T(秒)之内向超过P个端口发送UDP数据包。端口扫描可以是对任一IP地址的多个端口,也可以是对多个IP地址的同一端口进行。现在这个版本可
2017-10-18 18:09:27
581
转载 dpkg install 出现问题解决办法
我的ubuntu是16.04版本,今天安装软件(sudo apt-get install ssh)突然安装不上,有如下提示:/××××××××××××××××××××××××××dpkg: 处理软件包 gir1.2-unity-5.0:amd64 (--configure)时出错:该软件包正处于非常不稳定的状态;您最好在配置它之前,先重新安装它正在设置 ssh (1:7.2p2
2017-10-16 14:24:37
3771
原创 core dump 设置
ulimit -c unlimitedecho "ulimit -c unlimited" >> /etc/profileecho "/tmp/core-%e-%p" > /proc/sys/kernel/core_pattern
2017-10-12 15:17:39
440
转载 linux 定位线程CPU使用过高的方法
如何定位占用cpu过高的线程近来发现平台应用响应越来越慢,通过top命令发现,cpu占用率越来越高 1. 首先根据top命令,发现占用cpu最高的进程PID:3075. 通过ps aux | grep PID命令,进一步查看当前进程的具体信息。2. 显示当前进程下的所有线程列表 ps -mp pid -o THREAD,tid,time找到耗时最高的线程TI
2017-10-12 15:13:02
2526
原创 gcc: error trying to exec 'as': execvp: No such file or directory
编译的时候出现这个莫名其妙的问题,网上查立一大堆发现都搞不定最后发现是/usr/bin/as这个文件确实,或者软链接不存在
2017-09-30 11:59:22
2747
转载 gdb max-value-size
value of type `CFG' requires 123244 bytes, which is more than max-value-size可能archlinux有一些自己的限制,centos应该不会这么小就出现这个问题.今天在调试程序的时候,想要打印一个变量.不小心遇到了这个错误.顿时郁闷了...联想到可能是全局数据区装不下了?不对啊,如果全局数据区装不下,mak
2017-09-28 09:58:21
6549
转载 网卡TSO、UFO、GSO、LRO、GRO和RSS介绍
TSO、UFO、GSO、LRO、GRO和RSS介绍ethtool -k ,ethtool --show-offload ,或者可以看到很多网络接口的offload特性,例如:$ sudo ethtool -k eth0Offload parameters for eth0:rx-checksumming: ontx-checksumming: onscatter-gathe
2017-09-17 11:43:55
3833
转载 linux poll机制
POLL操作1、POLL运行过程:poll是一个系统调用,其内核入口函数为sys_poll,sys_poll差点儿不做不论什么处理直接调用do_sys_poll,do_sys_poll的运行过程能够分为三个部分: 1,将用户传入的pollfd数组复制到内核空间,由于拷贝操作和数组长度相关。时间上这是一个O(n)操作,这一步的代码在do_sys_poll中包含从函数開始到调用do
2017-08-31 22:13:21
532
转载 ionic2 APP退出事件
import {Component, ViewChild} from '@angular/core'; import {Platform, ToastController, Nav, IonicApp} from 'ionic-angular'; import {StatusBar, Splashscreen} from 'ionic-native'; import {TabsPage} f
2017-04-13 15:09:38
3975
1
转载 python tarfile
TAR ->import tarfiletar = tarfile.open("tar_file.tar","w")tar.add(".danoo_player_wifi")tar.close() TAR GZIP ->tar = tarfile.open("tar_file.tar.gzip","w|gz")tar.add("/root/.danoo_player
2017-01-12 17:32:56
1050
转载 btrfs 基础知识
Btrfs 简介文件系统似乎是内核中比较稳定的部分,多年来,人们一直使用 ext2/3,ext 文件系统以其卓越的稳定性成为了事实上的 Linux 标准文件系统。近年来 ext2/3 暴露出了一些扩展性问题,于是便催生了 ext4 。在 2008 年发布的 Linux2.6.19 内核中集成了 ext4 的 dev 版本。 2.6.28 内核发布时,ext4 结束了开发版,开始接受用户的使用。
2016-10-20 15:58:47
1748
转载 inode
一、inode是什么?理解inode,要从文件储存说起。文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八
2016-10-20 15:28:13
498
转载 硬盘 SMART 检测参数详解
一、SMART概述 硬盘的故障一般分为两种:可预测的(predictable)和不可预测的(unpredictable)。后者偶而会发生,也没有办法去预防它,例如芯片突然失效,机械撞击等。但像电机轴承磨损、盘片磁介质性能下降等都属于可预测的情况,可以在在几天甚至几星期前就发现这种不正常的现象。如果发生这种问题,SMART功能会在开机时响起警报,至少让使用者有足够的时间把重要资料转移到其
2016-10-19 16:11:51
6116
转载 Linux Samba服务主配文件smb.conf中文详解
从网上找到描述比较详细的smb.conf中文解释:服务名:smb配置目录:/etc/sabma/主配置文件:/etc/sabma/smb.conf#============================== Global Settings =============================[global]samba服务器的全局设置,对整个服务器有效。workgrou
2016-09-13 12:07:40
11538
转载 Linux操作系统 Samba服务器配置与使用
Linux操作系统 Samba服务器配置与使用Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器
2016-09-13 10:09:03
1061
转载 文件控制ACL
配置 Linux 的访问控制列表(ACL) 编译自:http://xmodulo.com/2014/08/configure-access-control-lists-acls-linux.html作者: Christopher Valerio 原创:LCTThttps://linux.cn/article-3966-1.html译者: VicYu 本文地址:htt
2016-09-12 18:51:17
799
转载 tune2fs
一.简介:tune2fs是调整和查看ext2/ext3文件系统的文件系统参数,Windows下面如果出现意外断电死机情况,下次开机一般都会出现系统自检。Linux系统下面也有文件系统自检,而且是可以通过tune2fs命令,自行定义自检周期及方式。二.用法:tune2fs [ -l ] [ -c max-mount-counts ] [ -e errors-behavior ] [ -f
2016-09-12 18:41:42
591
转载 RAID 的基础知识
现在的操作系统,不论是windows 还是linux都具有raid的功能,RAID 分为硬件 RAID 和软件 RAID, 硬件 RAID 是通过 RAID 卡来实现的,软件RAID是通过软件实现的,现在常用的raid有:raid0:至少两块硬盘;raid1:至少两块硬盘;raid5:至少三块硬盘;raid6:至少四块硬盘;1、虚拟机环境准备虚拟机环
2016-09-12 09:29:45
493
转载 fdisk
Linux系统由于数据累计增长、前期存储规划不合理等诸多因素,出现存储不够用的情况时,此时就需要扩展逻辑分区或添加新的逻辑分区。下面介绍一下通过使用fdsik添加新的逻辑分区。 首先使用df命令检查文件系统的磁盘空间占用情况[root@DB-ONE-SERVER~]# df -hFilesystem Size Used Avail Use% Moun
2016-09-06 11:13:43
782
转载 Gluster一些级别知识
1:. 基本概念(1) brick:The brick is the storage filesystem that has been assigned to a volume.(2) subvolume:A brick after being processed by at least one translator.(3) volume:The final share a
2016-09-02 17:03:24
890
转载 python str()/repr()
尽管str(),repr()和``运算在特性和功能方面都非常相似,事实上repr()和``做的是完全一样的事情,它们返回的是一个对象的“官方”字符串表示,也就是说绝大多数情况下可以通过求值运算(使用内建函数eval())重新得到该对象。但str()则有所不同,str()致力于生成一个对象的可读性好的字符串表示,它的返回结果通常无法用于eval()求值,但很适合用于print语句输出。需要再
2016-08-30 18:44:55
458
转载 filter, mmap, reduce
Python内置了一些特殊函数,这些函数很具python特性。可以让代码更加简洁。可以看例子:1 filter(function, sequence):str = ['a', 'b','c', 'd']def fun1(s): return s if s != 'a' else Noneret = filter(fun1, str)print ret## ['b', '
2016-08-30 18:22:04
325
转载 xrange -->range
在Python中range和xrange是不同的,range返回值是:一个从0开始指定长度的连续整数序列。然而,xrange返回一个"xrange 对象",该对象非常类似于迭代器。举个例子:range(100) xrange(100). range(100)会返回一个100个整数的序列,而xrange(100)会返回一个迭代序列。所以xrange支持迭代,而range不支持。好处是,在遍
2016-08-30 16:24:46
453
转载 setsockopt设置超时需要注意
原文:http://blog.csdn.net/qinmi/article/details/15230811.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET, SO_REUSEADDR, (const char*)&bReus
2016-08-03 11:03:55
21275
1
转载 二维数组作为参数需要注意的问题
在用二维数组名作为参数传递时容易出现Segmention Error。这是因为不能正确为二维数组中元素寻址的问题,正确的方法如下:1. 用指向一维数组的指针变量,如下例子所示:[cpp] view plain copy print?#include #include #define N 4 v
2016-07-29 12:05:32
596
转载 VIm 替换
vi/vim 中可以使用 :s 命令来替换字符串。该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询。 :s/vivian/sky/ 替换当前行第一个 vivian 为 sky :s/vivian/sky/g 替换当前行所有 vivian 为 sky :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行
2016-07-09 09:54:24
493
转载 用户态的原子变量
GCC(GNU Compiler Collection)内建原子操作函数说明6.51 Legacy __sync Built-in Functions for Atomic Memory Access编译器内建,可以代替多线程全局变量自加、自减等操作,并且效率高于使用线程锁。type为8字节以下的整形数函数(加、减、与、或、非、异或)共12个:type __
2016-06-20 14:25:57
1553
转载 Linux 异步IO
Linux® 中最常用的输入/输出(I/O)模型是同步 I/O。在这个模型中,当请求发出之后,应用程序就会阻塞,直到请求满足为止。这是很好的一种解决方案,因为调用应用程序在等待 I/O 请求完成时不需要使用任何中央处理单元(CPU)。但是在某些情况中,I/O 请求可能需要与其他进程产生交叠。可移植操作系统接口(POSIX)异步 I/O(AIO)应用程序接口(API)就提供了这种功能。在本文中,我们
2016-05-11 21:18:47
379
转载 sendfile
如今几乎每个人都听说过Linux中所谓的"零拷贝"特性,然而我经常碰到没有充分理解这个问题的人们。因此,我决定写一些文章略微深入的讲述这个问题,希望能将这个有用的特性解释清楚。在本文中,将从用户空间应用程序的角度来阐述这个问题,因此有意忽略了复杂的内核实现。什么是”零拷贝”为了更好的理解问题的解决法,我们首先需要理解问题本身。首先我们以一个网络服务守护进程为例,考虑它在将存储在文件
2016-05-11 09:36:55
659
转载 linux signal
最近同事的程序设计过程中用到了Linux的signal机制,从而引发了我对Linux中signal机制的思考。Signal机制在Linux中是一个非常常用的进程间通信机制,很多人在使用的时候不会考虑该机制是具体如何实现的。signal机制可以被理解成进程的软中断,因此,在实时性方面还是相对比较高的。Linux中signal机制的模型可以采用下图进行描述。
2016-03-24 14:11:03
1142
转载 文件IO
在Linux 开发中,有几个关系到性能的东西,技术人员非常关注:进程,CPU,MEM,网络IO,磁盘IO。本篇文件打算详细全面,深入浅出。剖析文件IO的细节。从多个角度探索如何提高IO性能。本文尽量用通俗易懂的视角去阐述。不copy内核代码。 阐述之前,要先有个大视角,让我们站在万米高空,鸟瞰我们的文件IO,它们设计是分层的,分层有2个好处,一是架构清晰,二是解耦。让我们看一下下面这
2016-03-06 11:41:48
519
转载 修改进程名字
每一个c程序都有个main函数,作为程序启动入口函数。main函数的原型是int main(int argc , char *argv[]);其中argc表示命令行参数的个数;argv是一个指针数组,保存所有命令行字符串。Linux进程名称是通过命令行参数argv[0]来表示的。Linux 还有环境变量参数信息,表示进程执行需要的所有环境变量信息。通过全局变量Char **envi
2015-12-22 09:20:55
4299
转载 nginx 的安装
要在nginx上开发,所以先了解下这个是干嘛的..百度一下很多编译源码需要的组件1.zlib2.pcre3.openssl使用ubuntu的话.可以直接使用sudo apt-get install zlibsudo apt-get install pcresudo apt-get install openssl这些默认都放在系
2015-12-11 11:20:29
524
转载 nginx 的安装
要在nginx上开发,所以先了解下这个是干嘛的..百度一下很多编译源码需要的组件1.zlib2.pcre3.openssl使用ubuntu的话.可以直接使用sudo apt-get install zlibsudo apt-get install pcresudo apt-get install openssl这些默认都放在系
2015-12-11 11:12:20
434
转载 ARP协议的作用
1. 什么是ARP? ARP (Address Resolution Protocol) 是个地址解析协议。最直白的说法是:在IP以太网中,当一个上层协议要发包时,有了该节点的IP地址,ARP就能提供该节点的MAC地址。 2为什么要有ARP?OSI 模式把网络工作分为七层,彼此不直接打交道,只通过接口(layre interface). IP地址在第三层, MAC地址
2015-11-18 18:07:25
8540
转载 比较kmalloc/vmalloc/get_free_pages
对于提供了MMU(存储管理器,辅助操作系统进行内存管理,提供虚实地址转换等硬件支持)的处理器而言,Linux提供了复杂的存储管理系统,使得进程所能访问的内存达到4GB。进程的4GB内存空间被人为的分为两个部分--用户空间与内核空间。用户空间地址分布从0到3GB(PAGE_OFFSET,在0x86中它等于0xC0000000),3GB到4GB为内核空间。内核空间中,从3G到vmall
2015-11-18 16:24:49
533
转载 initcall的执行顺序
Init.h中有相关initcall的启动次序,在system.map中可看出具体的__initcall指针的前后次序 #define pure_initcall(fn) __define_initcall("0",fn,0)#define core_initcall(fn) __define_initcall("1",fn,1)#define core_initc
2015-11-18 14:56:02
941
转载 编译过程
hello.c源代码如下:?[Copy to clipboard]View Code C123456[c] view plaincopy"color:#339933">#include "color:#993333">int main"color:#009900">("c
2015-11-18 12:36:00
531
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人