- 博客(172)
- 资源 (21)
- 收藏
- 关注
原创 JZ2440:通过nfs挂载文件系统不成功
最近在看韦东山的视频,一步一步跟着做,发现不错。晚上做到挂载文件系统这一步时,出错了,提示:nfs: server 10.168.1.1 not responding, still trying原本启动参数为: set bootargs noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0按照视频中的讲解,将启动选项修改为:
2017-01-02 22:19:16 2402
原创 sublime text3 安装ctags
在公司看代码,都是source insight和sublime text一起用的,前者看代码,后者b
2014-11-07 23:25:14 26022 4
转载 linux获取系统启动时间
1、前言 时间对操作系统来说非常重要,从内核级到应用层,时间的表达方式及精度各部相同。linux内核里面用一个名为jiffes的常量来计算时间戳。应用层有time、getdaytime等函数。今天需要在应用程序获取系统的启动时间,百度了一下,通过sysinfo中的uptime可以计算出系统的启动时间。2、sysinfo结构 sysinfo结构保持了系统启动后的信息,主要
2014-09-11 19:52:22 3126
转载 Starting udev卡死的问题
Linux启动停止在Starting udev 一、出现问题 在VM的CentOS 5.4 32bit上重新编译了内核(2.6.19.7),启动新内核时,停在starting udev,然后按下Ctrl+C取消,才能继续启动 于是google之,发现这似乎是一个esx的bug,官方的说明在这里: http://kb.vmware.com/selfservice/micro
2014-08-14 15:43:48 11362
转载 Port Vxworks clock_gettime to gettimeofday
Actually, VxWorks can use the following thing to replace gettimeofday. struct timespec tp; ret = clock_gettime(CLOCK_REALTIME, &tp); srand( tp.tv_sec+tp.tv_nsec);However, you ca
2014-07-16 11:59:59 2494
转载 Linux下使用wc统计文件行数
语法:wc [选项] 文件…说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。该命令各选项含义如下: - c 统计字节数。 - l 统计行数。 - w 统计字数。这些选项可以组合使用。输出列的顺序和数目不受选项的顺序和数目的影响。
2014-06-30 08:57:30 11159
转载 gcc生成二进制文件供uboot的go命令执行
yuan使用gcc编译出二进制文件给uboot中go的命令执行.test.c 文件如下 ================ Start of test.c =======================================#include typedef void (*pr)(const char *fmt, ...);int main(int arg
2014-06-25 16:48:29 2397
转载 在nand flash上实现JFFS2根文件文件系统
JFFS2是Flash上应用最广的一个日志结构文件系统。它提供的垃圾机制,不需要马上对擦写越界的块进行擦写,而只需要将其设置一个标志,标明为脏块,当可用的块数不足时,垃圾机制才开始这些节点。同时,由于JFFS2基于日志结构,在意外掉电后仍然可以保持数据的完整性,而不会丢失数据。本文阐述如何在nand flash上实现JFFS2根文件文件系统。实验环境是:FS2410开发平台及ubant
2014-06-24 09:59:00 1937
转载 Win7系统重装,Ubuntu LINUX启动项丢失,如何恢复(终极版)
实验室一台Intel服务器上安装了3个子系统: windows, Ubuntu LINUX 和 Ubuntu Wubi 伪LINUX系统。Linux系统下安装了hadoop集群。这几天实验室服务器重装了Windows 7(Win7),结果LINUX启动菜单项全部丢失。只能进入Win7,无法进入Linux hadoop。由于是两个Ubuntu Linux系统启动菜单项丢失,所以
2014-06-04 21:08:48 6509
转载 Linux串口编程详解
串口本身,标准和硬件 ?串口是计算机上的串行通讯的物理接口。计算机历史上,串口曾经被广泛用于连接计算机和终端设备和各种外部设备。虽然以太网接口和USB接口也是以一个串行流进行数据传送的,但是串口连接通常特指那些与RS-232标准兼容的硬件或者调制解调器的接口。虽然现在在很多个人计算机上,原来用以连接外部设备的串口已经广泛的被USB和Firewire替代;而原来用以连接网络的串口则被以太网替
2014-05-14 09:21:06 31131 2
转载 从select的一个死循环谈epoll的ET模式
最近写程序遇到一个问题,就是发现select监听标准输出的时候遇到了死循环,具体程序如下程序一。程序的意图是每当用户在控制台有任何输入,就输出”hello world!”。程序一:#include #include #include #include int main(int argc, char *argv[]){ int maxfdp1;c
2014-05-14 09:06:53 1081
转载 SecureCRT鼠标双击或拖成变成Ctrl+C的解决办法
这两天用SecureCRT,突然发现鼠标左键划选后变成回车功能了,用起来非常不方便,以前用的好好的,突然就这样了,以为是软件问题,将CRT卸载后问题依旧。后来想到刚刚装的桌面版的必应翻译,我讲划词翻译功能打开了,把这个功能关闭,CRT恢复正常,想必这种带划词功能的软件应该都和CRT有冲突。
2014-03-26 16:25:09 5448 7
转载 Sublime Text 3技巧:支持GB2312和GBK编码
Sublime Text 3与Sublime Text 2的不同其实有不少人写过如何让Sublime Text 2支持GB2312和GBK编码,例如这篇。基本原理就是先装好Package Control,然后再通过这个安装ConvertToUTF8的Package。但是文中的方法在Sublime Text 3时代行不通了,因为安装Package Control的方法发生了变化,新的
2014-03-12 17:10:02 119193 10
转载 如何在windows的DOS窗口中正常显示中文(UTF-8字符)
打开CMD.exe命令行窗口,通过 chcp命令改变代码页UTF-8的代码页为65001,ANSI/OEM - 简体中文 GBK为936,window default OEM - 美国为437如果chcp命令得到437,那么一定不能显示中文,此时的中文为???.如果是乱码,那么一定字符码不是UTF-8refer to http://zfj-rails.iteye.com/blog/77
2014-03-05 12:08:05 8116
原创 notepad++输入中文程序就假死
最近一直在用sublime Text,好久没用notepad++了,今天下了一个notepad++后,输入中文时,发现notepad++就假死。一开始我以为是notepad++和搜狗输入法的快捷键有冲突导致的呢,后来,改了快捷键也不行。上网搜。设置->首选项->自动补全,自动补全设置成从第二个字符开始。
2014-02-19 21:03:27 2740
原创 多层目录Makefile
今天结合网上的一个例子,自己写了一个可适用于多层目录的Makefile。ARCH= armv5l-linux-CC= $(ARCH)gcc LD = $(ARCH)ld AS = $(ARCH)as CPP = $(ARCH)g++ AR = $(ARCH)ar CFLAGS= -g -O2 -D_GNU_SOURCE -DHAVE_CONFIG_H L
2014-02-18 16:35:46 2642
转载 Linux环境变量的设置和查看方法
1. 显示环境变量HOME $ echo $HOME /home/redbooks 2. 设置一个新的环境变量hello $ export HELLO="Hello!" $ echo $HELLO Hello! 3. 使用env命令显示所有的环境变量 $ env HOSTNAME=redbooks.safe.org PVM_RSH=/us
2014-02-18 16:32:14 655
原创 vmware共享文件夹后,虚拟机里面/mnt/hgfs是空的
从其他人那里copy来一个虚拟机,用自己的vmware打开后,发现共享文件夹用不了。/mnt/hgfs文件夹是空的。通过VM->Install Vmware Tools,安装好了之后,才能接着用了
2014-02-18 10:05:24 8199
转载 SO_BINDTODEVICE 套接口选项
1. 起因事情的起因是我准备用两个CDMA modem来拓展点对点连接的带宽,并且希望藉此实现两个modem之间的负载均衡。但是不幸的是,联通公司的接入设备不支持Multilink-PPP。于是,没有办法,我只好自己来实现负载均衡。实现负载均衡的办法有几种,网络上给出的一种办法是采用iproute2来完成包级别的负载均衡,这是在内核一级实现的。但是我并不想把一切都交给内核去完成,我希望能够自己
2014-02-07 16:46:55 2050
转载 适用于多级目录的Makefile(还没试试,改天用了如果有问题,再修改)
开发中常常有这样的需求:一个不算简单的目录结构,需要一个统一的Makefile来进行编译管理。这时候最简单的做法就是遍历--搜罗所有的头文件和代码文件,使用统一的规则gcc -Ixx -o *.o *.c然后打扫战场,处理尸体;最标准的做法就是在每个子目录下编程时随手加上Makefile, 然后再百川归海,有统一的父目录(确切的说是始祖)Makefile来遥控, 但是,,,,你不觉得烦吗?
2014-01-28 16:57:22 944
转载 strcspn和strspn函数
1、strcspn头文件:#inclued定义函数:size_t strcspn(const char *s, const char * reject);函数说明:strcspn()从参数s 字符串的开头计算连续的字符, 而这些字符都完全不在参数reject所指的字符串中. 简单地说, 若strcspn()返回的数值为n, 则代表字符串s 开头连续有n 个字符都不含字符串r
2014-01-28 09:22:18 8179 4
原创 shell 编程 错误 [: missing ]
想学习脚本编程,就看着书写了一个#!/bin/sh#test whether the file existsfilename=$1if [ -x "$filename"]then echo "$filename exists."else echo "$filename doesn't exist."fiexit保存为fil
2014-01-14 16:42:45 6726 3
转载 如何编写一个可靠的linux守护进程
linux服务端程序都需要提供7 * 24不间断的服务,如何保证工作进程一直不退出或者不被kill掉,常见的方法就是启动一个守护进程来检测工作进程的状态,如果发现工作进程退出,就再fork一个出来。一般的实现见下面一段代码:C代码 // 守护进程(父进程) int status; for ( ; ; ) { if ( 0 == ( pid = fork
2014-01-08 18:58:33 1303
转载 linux下查看进程内存使用情况
动态查看一个进程的内存使用1、top命令 top -d 1 -p pid [,pid ...] //设置为delay 1s,默认是delay 3s 如果想根据内存使用量进行排序,可以shift + m(Sort by memory usage) 静态查看一个进程的内存使用1、pmap命令 pmap pid
2014-01-08 18:53:12 17099
原创 没有/var/log/messages
有些问题要确认,所以需要看一下/var/log/messages文件,结果没有。网上说需要配置/etc/syslog.conf,系统里面没有。查看进程,使用syslogd和klogd进程的,通过修改这两个进程的命令行参数来让它可以输出log文件吧。在我用的这个系统中,etc下有rc0.d~rc6.d几个文件夹。系统启动时,默认读取的是哪个?上网搜linux启动级别,如下:
2014-01-08 15:19:20 6640
原创 处理僵尸进程导致的后遗症
前段时间需要僵尸进行,通过在程序中调用 signal(SIGCHLD, SIG_IGN); 搞定啦。 但是,这么一来导致了好多问题。比如,通过system()函数调用什么命令时,明明命令正常执行了,system函数却返回-1.等等类似的问题。waitpid也会出错。分析了一下,应该是对SIGCHLD进行了忽略导致的。 怎么办?难懂不处理SIGCHLD信号了?那当然不行。
2013-12-12 16:16:53 1020
转载 linux系统信息查看命令
系统# uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostname # 查看计算机名# lspci -tv # 列出所有PCI设备# lsusb -tv
2013-12-04 13:36:47 623
转载 linux out of memory分析
Linux Out-of-Memory(OOM) Killer Linux有一个特性:OOM Killer,一个保护机制,用于避免在内存不足的时候不至于出现严重问题,把一些无关的进程优先杀掉,即在内存严重不足时,系统为了继续运转,内核会挑选一个进程,将其杀掉,以释放内存,缓解内存不足情况,不过这种保护是有限的,不能完全的保护进程的运行。 在很多情况下,经常会看到还有剩
2013-12-04 12:10:05 1377
原创 僵尸进程
工作中,一个模块出现了僵尸进程,大致一看应该是system调用引起的。搜了一下僵尸进程的处理。一、僵屍進程的産生当子进程比父进程先运行结束,而父进程没有回收子进程的时候,子进程将成为一个僵尸进程。如果父进程先退出,子进程被init接管,子进程退出后init会回收,就没事了。二、僵屍進程的危害僵尸进程是一个运行完毕的进程,所有资源都已经释放了,除了它的进程表项。因
2013-11-15 10:55:02 1013
原创 Android.mk遇到user tag detected on new module - user tags are only supported on legacy modules
今天阳历生日,明天光棍节。继续光着吧。前几天,编译Android程序时,出现了类似下面的一个错误。build/core/base_rules.mk:74: *** Module name: xxxtestbuild/core/base_rules.mk:75: *** Makefile location: packages/xxx/xxxtestbuild/core/bas
2012-11-10 23:20:07 3008 1
转载 UNIX Domain Socket IPC(转)
socket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIX Domain Socket。虽然网络socket也可用于同一台主机的进程间通讯(通过loopback地址127.0.0.1),但是UNIX Domain Socket用于IPC更有效率:不需要经过网络协议栈,不需要打包拆包、计算校验和、维护序号和应答等,只是将应用层数据从一个进程拷贝到另一个
2012-11-08 22:23:55 632
转载 socket IPC(转)
socket IPC与一般网络通信一致,也有两种类型sock_stream 和sock_daram不同的地方在于:1.网络通信server端以IP/Port作为服务名,IPC则以socket文件路径名作为服务名,socket文件与一般文件不同,socket文件是在程序运行时创建,而不能手动创建。2.Domain不同,一个是AF_INET,一个是AF_UNIX;使用的地址结构不同,一
2012-11-08 22:19:21 774
转载 command: find命令-exec参数的使用说明(转)
find命令,配合-exec参数,可以对查询的文件进行进一步的操作,可以得到很多有用的功能,比如说文件包含特定字符串的查询等,要了解这个功能,最 简单直接的就是看find命令帮助,列出find命令,配合-exec参数,可以对查询的文件进行进一步的操作,可以得到很多有用的功能,比如说文件包含 特定字符串的查询等,要了解这个功能,最简单直接的就是看find命令帮助,man find 列出
2012-11-06 21:21:04 1047
转载 Git 常用命令(转)
Git 是一个很强大的分布式版本控制系统。它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势。Git常用操作命令:1) 远程仓库相关命令检出仓库:$ git clone git://github.com/jquery/jquery.git查看远程仓库:$ git remote -v添加远程仓库:$ git remote add
2012-11-06 20:19:30 796
原创 Git使用
工作需要,研究了一段时间的git。 至于什么是index,是什么是working base, 什么是commit完了的东东,这些就不谈了。 只是将一些常用命令给记下来,方便以后参考。1.基本操作$git init #初始化一个代码库$git add . #将改动的东西加到index中,.指当前目录及子目录,也可用具体的文件名代替$git commit #
2012-11-03 22:06:22 1748
转载 Git的Patch功能(转)
UNIX世界的软件开发大多都是协作式的,因此,Patch(补丁)是一个相当重 要的东西,因为几乎所有的大型UNIX项目的普通贡献者,都是通过 Patch来提交代码的。作为最重要的开源项目之一,Linux,也是这样的。普通开发者从软件仓库clone下代码,然后写入代码,做一个Patch, 最后用E-mail发给Linux Kernel的维护者就好了。Git最初作为Linux的版本控制工具,提供了透明
2012-11-03 21:22:25 724
转载 谁说vim不是IDE(转)
Vim以简洁的方式提供了丰富的配置功能,主要配置体系由一个文件和文件夹组成。在一台安装了Vim的OS X/Linux/Unix机器上,进入用户主目录,可以找到.vimrc文件和.vim文件夹,这就是Vim所有的配置信息。(1).vimrc介绍用户目录下的.vimrc文件就是Vim针对当前用户的主配置文件,该文件不是必备的,没有的话就创建它。文件位于当前用户的主目录下,可以用~/.v
2012-11-03 21:18:53 852
转载 Android.mk中调用shell命令
这几天,在写Android.mk时,有时总想打印一些变量什么的,echo不能用,就上网找办法。 最后找了这么一篇文章挺好的。 原文地址:http://blog.csdn.net/michaelpp/article/details/6249989在Android的编译脚本中有很多示例,比如在 build/core/main.mk 文件中: ifeq (
2012-11-03 20:44:11 12561
现代操作系统(第三版)中文版
2018-04-16
ARM-Linux驱动程序研究
2018-04-16
LFS-BOOK-6.6中文版
2018-04-11
GNUMake使用手册(中译版)
2018-04-11
测试架构师修炼之道:从测试工程师到测试架构师
2018-04-09
Linux下的C函数手册
2009-12-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人