
unixl/inux
lanyzh0909
这个作者很懒,什么都没留下…
展开
-
“实际用户ID”、“有效用户ID”和“保存的设置用户ID”三个术语的区别
一个进程的 real user ID 是指运行此进程的用户角色的 ID。一个进程的 effective user ID 是指此进程目前实际有效的用户 ID(也就是权限的大小),effective user ID 主要用来校验权限时使用,比如打开文件、创建文件、修改文件、kill 别的进程,等等。如果一个进程是以 root 身份来运行的,那么上面这两个 ID 可以用 setuid/s转载 2012-12-26 10:22:39 · 727 阅读 · 0 评论 -
多进程共享同一端口和平滑升级程序的程序模型
/* File Name: server.c */ #include #include #include #include #include #include #include #include #include #include #include #include#define DEFAULT_PORT 8000 #define MAXLIN原创 2015-12-24 16:19:26 · 1368 阅读 · 0 评论 -
Linux ext3/ext4误删文件,数据恢复方法
测试环境:Ubuntu 12.04 X86 +ext4恢复文件使用的工具:extundelete(点击下载)说明:当文件异常消失或者rm误删除后,避免在该分区中继续读、写、删除等操作。如果是恢复整块硬盘,请考虑安装extundelete所在分区的空间大小。安装extundelete:tar -xjf extundelete-0.2.2.tar.bzc转载 2014-11-05 17:42:46 · 12356 阅读 · 1 评论 -
Source Insight使用方法
Source Insight实质上是一个支持多种开发语言(java,c,c++等等)的编辑器,只不过由于其查找、定位、彩色显示等功能的强大,常被我们当成源代码阅读工具使用。一 常用快捷键1、按住"ctrl", 再用鼠标指向某个变量,点击一下,就能进入这个变量的定义。2、 "Alt + F12"可以让每个字符的宽度保持一致。勾选菜单栏的"view --> draft view"也可以转载 2013-01-28 11:50:25 · 1555 阅读 · 0 评论 -
红帽Linux.5.5企业版本在VM虚拟机里中文乱码的解决方法
运行环境:VMware® Workstation 7.1.2 build-301548 虚拟机系统镜像:红帽Linux.5.5.for.x86.服务器版.rhel-server-5.5-i386-dvd.iso运行症状:启动VM虚拟机,加载好linux镜像后,Vm虚拟机自动将linux安装好了,中间没有任何人工操作,安装过程中全是英文。安装好后系统自动启动,也是英文界面。症状原因:由于转载 2013-07-20 17:32:04 · 1239 阅读 · 0 评论 -
linux下的 Proc 文件系统
Proc文件系统是一种在用户态检查内核状态的机制。在proc下一般有如下子目录和文件:Apm:高级电源管理信息Bus:总线以及总线上的设备Devices:可用的设备信息Driver:已经启用的驱动程序Interrupts:中断信息Ioports:端口使用信息Version:内核版本 上面的文件都具有如下特点:1) 每个文件都有严格的权限(可读、可写、)原创 2013-07-21 18:20:54 · 1122 阅读 · 0 评论 -
Linux下的系统调用的原理
应用程序首先用适当的值填充到寄存器中,然后调用一个特殊的指令跳转到内核的固定的位置,内核根据应用程序填充的固定的值来找到相应的函数执行。比如像如下程序: 1) 适当的值在include/asm/unistd.h中为每个系统调用规定了一个唯一的编号,这个编号就是为系统调用号#define __NR_restart_syscall (__NR_SYSCALL_B原创 2013-07-21 17:03:17 · 972 阅读 · 0 评论 -
menuconfig过程详解
makefile menuconfig过程讲解当我们在执行make menuconfig这个命令时,系统到底帮我们做了哪些工作呢?这里面一共涉及到了一下几个文件我们来一一讲解Linux内核根目录下的scripts文件夹arch/$ARCH/Kconfig文件、各层目录下的Kconfig文件Linux内核根目录下的makefile文件、各层目录下的make转载 2013-06-29 22:20:23 · 1405 阅读 · 0 评论 -
ko6410内核和根文件系统的编译过程
1、配置内核 make menuconfig ARCH=arm2、编译内核 make uImage ARCH=arm CROSS_COMPILE=arm-linux- (uImage路径:内核位置/arch/arm/boot/uImage)3、文件系统 mkdir rootfs cd rootfs mkdir bin dev etc lib proc sbin sy原创 2013-05-26 17:18:39 · 1612 阅读 · 0 评论 -
ok6410-uboot的配置和编译过程分析
一、uboot的的配置和编译1、配置:make smdk6410_configSRCTREE := $(CURDIR)MKCONFIG := $(SRCTREE)/mkconfig smdk6410_config : unconfig @$(MKCONFIG) $(@:_config=) arm s3c64xx sm原创 2013-05-12 18:26:28 · 2554 阅读 · 0 评论 -
Linux进程间的通信
1、管道(Pipe)用的api函数有:pipe示例://pipe.c#include #include#include#includeint main(int agrc ,char *argv[]){ int fdset[2]; pid_t pid; int r_num; char buf_r[100]; pipe(fd原创 2013-05-12 18:16:47 · 1318 阅读 · 0 评论 -
linux线程之间的通信
线程之间的通信:1、 互斥量用的api函数有:pthread_mutex_init、pthread_mutex_lock、pthread_mutex_unlock、pthread_mutex_trylock示例://thread_mutex.cpp#include #include#include #include #include #includ原创 2013-05-12 17:56:31 · 1696 阅读 · 0 评论 -
有关automake的用法
1、http://www.ibm.com/developerworks/cn/linux/l-makefile/#N100A02、http://www.cnblogs.com/itech/archive/2010/11/28/1890220.html3、http://tech.sina.com.cn/s/2004-10-19/1115443045.shtml原创 2013-04-21 21:15:34 · 814 阅读 · 0 评论 -
配置samb服务器
1、共享目录vi /etc/samba/smb.conf#============================ Share Definitions ==============================[Root] 共享名。comment = root 描述,可有可无。path = /原创 2013-02-01 16:25:42 · 1275 阅读 · 0 评论 -
在linux中对一些工具的安装和配置
1、 对交叉工具的安装 a. 将“arm-linux-gcc-4.5.1-v6-vfp.tgz”拷贝到自己的工作目录下 b. 进入自己的工作目录下,”“tar –xzvf arm-linux-gcc-4.5.1-v6-vfp.tgz –C /”解压到根目录下 c. 添加环境变量,“vi /etc/profile”原创 2013-04-20 15:02:35 · 802 阅读 · 0 评论 -
有关linux内核模块的开发
1、在开发内核驱动模块开发的时候,我们要编写的源文件一般有.c和make文件如:hello.c#include #include MODULE_LICENSE("GPL");MODULE_AUTHOR("lanyzh");MODULE_DESCRIPTION("Hello world module");static int __init hello_init原创 2013-04-23 20:53:29 · 1321 阅读 · 0 评论 -
linux的NFS详细配置方法
网络文件系统(NFS,Network File System)是一种将远程主机上的分区(目录)经网络挂载到本地系统的一种机制,通过对网络文件系统的支持,用户可以在本地系统上像操作本地分区一样来对远程主机的共享分区(目录)进行操作。 在嵌入式Linux 的开发过程中,开发者需要在Linux 服务器上进行所有的软件开发,交叉编译后,通用FTP 方式将可执行文件下载到嵌入式系统运行,但这种方转载 2013-02-01 17:01:56 · 788 阅读 · 0 评论 -
线程绑定CPU核-sched_setaffinity
CPU亲合力就是指在Linux系统中能够将一个或多个进程绑定到一个或多个处理器上运行.一个进程的CPU亲合力掩码决定了该进程将在哪个或哪几个CPU上运行.在一个多处理器系统中,设置CPU亲合力的掩码可能会获得更好的性能. 一个CPU的亲合力掩码用一个cpu_set_t结构体来表示一个CPU集合,下面的几个宏分别对这个掩码集进行操作: ·CPU_ZERO()转载 2015-12-25 18:06:34 · 48839 阅读 · 9 评论