利用crash工具分析堆栈死机问题

1、将/etc/yum.repos.d/centos-*.repo移到别处,新建一个 centos.repo文件

2、里面内容填写如下:

[base]]

name=ftp-server

baseurl=ftp://172.17.62.160/pub/centos6.6

enable=1

gpgcheck=1

gpgkey=ftp://172.17.62.160/pub/centos6.6/RPM-GPG-KEY-CentOS-6

保存文件退出

172.17.62.160是公司内部yum 源,在配置了172.17网段的虚拟机上可以方便安装.若在有外网权限的linux上,无需修改上......

C语言实现进度条功能

今天整理文件发现一个隐藏在硬盘角落里的一段神秘代码,运行之后发现这是一断让我打开眼界的程序。

#include <stdio.h>

#include <unistd.h>

int main()

{

int i;

for(i=0;i<=100;i+=10)

{

printf("Percent completed:%3d%%\r",i);

sleep(1);

fflush(stdout);

}

}

我们先在终端中运行该程序:

gcc -o func func.c

./func

程序会在同一行文件中打印 Percent comple......

Linux软连接与硬连接

1.Linux链接概念

Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。

命令格式:

ln -s source dist # 建立软连接

ln source dist # 建立硬连接

【硬连接】

硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件......

python读书笔记

本文是python编程快速入门的读书笔记,仅记录python相关语言特性.

python编程快速入门预计4-5周时间读完,并完成编程实践练习.开始时间2017-06-22

导入模块 import

Python包括一组模块,成为标准库。每个模块都是一个python程序,包含一组组相关的函数,可以嵌入你的程序之中。

import random

for i in range(5):

print(random.randint(1,10))

from import语句

使用这种形式的import语句,调用random模块中的函数时不需要random.前缀。但是完整的名称会让代码......

Linux内核链表学习

本文参考内核代码2.6.9 List.h中相关代码,如有疑问欢迎评论.

链表

链表是线性表的一种,可以高效地在链表中的任意位置实时插入、删除数据。链表的开销主要是访问的顺序性和组织链的空间损失.

通常链表数据结构至少应包含两个域:数据域和指针域,数据域用于存储数据,指针域用于建立与下一个节点的联系。

内核代码2.6.9中链表结构定义如下:

struct list_head {

struct list_head *next, *prev;

};

这个结构跟我们之前看到的不太一样,没有数据域,这样做的好处是具备了通用型.

链表可以分为单链表、双链表、循环链表等多种类型,......

柔性数组

#include <stdio.h>

#include <malloc.h>

typedef struct _soft_array

{

int len;

int array[];//int array[0];两种形式

}SoftArray;

int main()

{

int i = 0;

SoftArray* sa = (SoftArray*)malloc(sizeof(SoftArray) + sizeof(int) * 10);

sa->len = 10;

for(i=0; i<sa->len; i++)

{

sa->array[......

细说指针

因为在工作中踩到了指针相关的坑,所以在这里记录下来问题产生的原因,以免再次遇到同样的错误。如果你对文章中的观点、内容存在不一样的看法,欢迎通过关于博主页面中的Email与我联系。

需求:

将代码提取成函数,代码如下:

mr_cfg_bsc_info_t *mir_list = NULL;

mir_list在主函数中是一级指针的形式,我提取函数时接口用了二级指针如下格式:

int32_t mirror_suspend_flag_abnormal_handle(mr_cfg_bsc_info_t *mir_info,lun_info_t *lun_info,uint32_t m......

List_enty探究

#define list_entry(ptr, type, member) \

((type *)((char *)(ptr) – (unsigned long)(&((type *)0)->member)))

can somebody please explain what is this and how does it work, thanks in advance.

P.S. please simplify your answer as much as possible, I know about threads, processes in Linux, n......

Linux命令行总结

Day 1

grep 命令

grep命令显示文件和输入流中和参数匹配的行,下面的命令显示文件/etc/passwd中包含文本root的所有行:

grep root/etc/passwd

在对多个文件进行批量操作的时候,grep命令非常好用,如果要查看/etc中所有包含root的文件,可以执行以下命令:

grep root/etc/*

Day 2

less命令

当要查看的文件过大或者内容多的需要滚动屏幕的时候可以使用less命令。

例子:

less /usr/share/dict/words

使用/word从当前位置向前搜索word这个词

使用?w......

Linux内核目录结构

一、目录结构

Linux内核源代码采用树形结构进行组织,非常合理地把功能相关的文件都放在同一个子目录下,使得程序更具可读性。

内核源代码下载地址:www.kernel.org

arch目录

arch是architecture的缩写。内核所支持的每种CPU体系,在该目录下都有对应的子目录。每个CPU的子目录,又进一步分解为boot,mm,kernel等子目录,分别包含控制系统引导,内存管理,系统调用等。

| --x86 / 英特尔cpu及与之相兼容体系结构的子目录/

| |--boot /引导程序/

| | |--compressed /内核解压缩/

| |--to......