
linux
无相禅
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
linux学习记录(一)
一、打开/etc/apt/source.list源列表文件加放源 二、make 工具: make默认查找的文件名:GNUmakefile makefile Makefile 常用预定义变量 $* 不含扩展名的目标文件原创 2009-12-19 04:38:00 · 213 阅读 · 0 评论 -
Linux系统调用列表
<br /><br />一、进程控制:<br /> <br />fork 创建一个新进程 <br />clone 按指定条件创建子进程 <br />execve 运行可执行文件 <br />exit 中止进程 <br />_exit 立即中止当前进程 <br />getdtablesize 进程所能打开的最大文件数 <br />getpgid 获取指定进程组标识号 <br />setpgid 设置指定进程组标志号 <br />getpgrp 获取当前进程组标识号 <br />setpgrp 设置当前进程组标转载 2010-11-21 09:57:00 · 157 阅读 · 0 评论 -
块设备读写流程
<br /><br />在学习块设备原理的时候,我最关系块设备的数据流程,从应用程序调用Read或者Write开始,数据在内核中到底是如何流通、处理的呢?然后又如何抵达具体的物理设备的呢?下面对一个带Cache功能的块设备数据流程进行分析。<br /> <br />1、 用户态程序通过open()打开指定的块设备,通过systemcall机制陷入内核,执行blkdev_open()函数,该函数注册到文件系统方法(file_operations)中的open上。在blkdev_open函数中调用bd_acqu转载 2011-04-05 16:02:00 · 194 阅读 · 0 评论 -
自旋锁对信号量
自旋锁对信号量需求 建议的加锁方法低开销加锁 优先使用自旋锁短期锁定 优先使用自旋锁长期加锁 优先使用信号量中断上下文中加锁转载 2011-08-28 16:40:32 · 186 阅读 · 0 评论 -
sshfs用expect自动挂载失败记录
记录一下,用sshfs自动挂载服务目录一直失败,最后谷歌了下,找了个方法,记录如下 :#!/usr/bin/expectset timeout 30spawn -ignore HUP sshfs -o transform_symlinks -o fol原创 2011-09-23 18:32:44 · 338 阅读 · 0 评论 -
java local ref
FindClass /NewString/ NewStringUTF/NewObject/ GetObjectField等产生的都是LocalRef.原创 2011-10-31 12:54:02 · 154 阅读 · 0 评论 -
git常用操作命令记录
#git 配置 用来配置个人相关信息 设置,有全局配置与局部配置之分git config --global user.name "John Doe"git config --global user.email johndoe@example.comgit config --global core.editor emacsgit config --global merge.tool原创 2011-12-01 15:27:49 · 1047 阅读 · 0 评论 -
早期磁盘挂载日志
<br /><br />一、tegra2 SD卡挂载为只读解决<br /> 可能是由于底层或者硬件方面的原因使SD卡的是否为只读判断结果一直为只读,这样上层进行读写打开或者读写挂载时始终为只读。临时解决办法是把判断函数返回值改为始终可读写的。具体修改如下:<br /> 把文件/kernel/drivers/mmc/host/sdhci-tegra.c里面函数tegra_sdhci_get_ro改成直接返回0<br /> static int tegra_sdhci_get_ro(struct sd原创 2011-04-12 14:13:00 · 1410 阅读 · 1 评论 -
Epoll的C++封装
之前因工作需要,封装的一个,贴出来供参考和使用。使用上,主要也是wait它,再利用重载的[]操作符进行操作,让人感觉更清晰明了一点。#ifndef EPOLL_H#define EPOLL_H#include <sys/epoll.h>#include <unistd.h>/** * @brief The Epoll class 对epoll的封...原创 2018-12-28 00:38:30 · 1964 阅读 · 0 评论 -
ubuntu SVN命令大全
<br />1、将文件checkout到本地目录svn checkout path(path 是服务器上的目录)<br />例如:svn checkout svn://192.168.1.1/pro/domain<br />简写:svn co<br />2、往版本库中添加新的文件svn add file<br />例如:svn add test.php(添加test.php)<br />svn add *.php(添加当前目录下所有的php文件)<br />3、将改动的文件提交到版本库<br />svn原创 2011-01-10 09:10:00 · 213 阅读 · 0 评论 -
linux编译kbuild系统分析
从以上例子中可以看到,内核的编译系统kbuild是个很庞大的系统。但是,它所使用的make和我们平时用的make是一模一样的。kbuild只是通过预定义一些变量(obj-m,obj-y等等)和目标(bzImage ,menuconfig等等),使内核的编译和扩展变得十分方便。我们不妨yy一下kbuild的一些功能:1.考虑到Linux能够方便地移植到各个硬件平台,kbuild也必须很容易添加对某个新的平台的支持,同时上层的Makefile不需要做大的改动。2.Linux下有众多驱动设备。它们的Makefil转载 2010-12-22 16:44:00 · 408 阅读 · 0 评论 -
linux增加驱动模块
<br /><br /> 1. 在drives目录下添加hello目录,内含hello.c Kconfig Makefile<br /> hello.c内容:<br /> #include<br /> #include<br /> MODULE_LICENSE("Dual BSD/GPL");<br /> static int hello_init(void)<br /> {<br /> printk(KERN_ALERT"Hello, world ");<br /> return 0;<原创 2010-12-22 13:52:00 · 276 阅读 · 0 评论 -
GRUB启动命令详解
一、菜单命令 菜单命令只能用于grub配置文件的全局配置部分,不能用在grub命令行交互界面,菜单命令在配置文件中应放在其它命令之前。 1、default //设置默认启动的菜单项 2、fallback //设置启动某菜单项失败后反回的菜单项 3、hiddenmenu //隐藏菜单界面 4、timeou转载 2009-12-19 05:11:00 · 672 阅读 · 0 评论 -
linux下面定时
alarm 如果不要求很精确的话,用 alarm() 和 signal() 就够了 unsigned int alarm(unsigned int seconds) 示例: #include #include #include void sigalrm_fn(int s原创 2010-01-08 14:20:00 · 159 阅读 · 0 评论 -
Linux下面使用USB转串口线
<br /> 由于在Windows下面安装虚拟机速度较慢,切换也比较麻烦,所以想完全转到Linux下面来进行学习开发。<br /> 首先的问题是用的USB转串口线,在网上找了下,不需要另外装驱动,操作记录如下:<br />1) 在设备里面建立一个设备文件:<br /> sudo mknod /dev/ttyUSB0 c 188 0 如果ttyUSB0后面的操作测试不通,依次换用ttyUSB[1-n] c 188 [1-n]<br />2) 配置minicom<br />原创 2010-06-26 13:24:00 · 190 阅读 · 0 评论 -
linux—select详解(转载)
<br /> <!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } --><br />select系统调用时用来让我们的程序监视多个文件句柄的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有一个或多个发生了状态改变。<br />关于文件句柄,其实就是一个整数,通过socket函数的声明就明白了:<br />int socket(int domain, int type, intprot转载 2010-11-26 10:02:00 · 161 阅读 · 0 评论 -
linux socket程序源代码(本地与网络)
<br /><br />1、端口号是用来区分用户程序的。<br />2、其实,只要撑握了UNIX域的编程,那么网络编程就显得简单了。<br />3、UNIX域:UDP 和 TCP<br /> 网络: UDP 和 TCP<br />4、下面是相关的例程:<br />一、首先是UNIX域的编程:<br />1、C<br />/*UNIX域:UDP_client*/ <br />#include <sys/socket.h><br />#include <sys/types.h><br转载 2010-11-26 11:01:00 · 731 阅读 · 0 评论 -
linux内核编程中的几个小技巧
<br /><br />1构建泛型宏 (./linux/include/linux/kernel.h)#define min(x, y) ({ / <br />typeof(x) _min1 = (x); / <br />typeof(y) _min2 = (y); / <br />(void) (&_min1 == &_min2); / <br />_min1 < _min2 ? _min1 : _min2; })<br />大家看了就明白是什么意思了。但是我还有几点疑问:<br />(1)(void)转载 2010-12-06 11:18:00 · 353 阅读 · 0 评论 -
linux_unix的shell编程指南笔记1
<br /><br />一.文件权限与安全<br /> 1.umask<br /> 设置默认的创建权限属性,属于"非"型,与实际相反,拿走的意思.<br /> 2.suid/guid<br /> 运用chmod命令在实际权限位前面加一个位来设置suid权限,让其它在执行相应脚本时有你所有的权力,执行完后恢复.例如 chmod 4777 file<br /> <br />二.find和xargs<br /> find pathname -options [-print -exec -ok]<原创 2010-12-10 19:05:00 · 229 阅读 · 0 评论 -
linux里面Netlink套嵌字
一.Netlink 用于在内核模块与在用户地址空间中的进程之间传递消息的。它包含了用于用户进程的基于标准套接字的接口和用于内核模块的一个内部核心 API。Netlink 是一种特殊的 socket,它是 Linux 所特有的,类似于 BSD 中的AF_ROUTE 但又远比它的功能强大,目前在最新的 Linux 内核(2.6.14)中使用netlink 进行应用与内核通信的应用很多,包括:路由 daemon(NETLINK_ROUTE),1-wire 子系统(NETLINK_W1),用户态 socket 协议转载 2010-12-22 14:32:00 · 339 阅读 · 0 评论 -
INI文件读写的支持的C++封装
之前工作中遇到需要用到配置文件,所以想到使用简单的INI,但网上只能找到读INI配置的代码,基本没有找到写操作的,就自己写了一个C++封装,由于写入是每次同步写入,所以不适合较大配置文件,但对于不大的配置文件还是较有用的。同时大家可以考虑写入优化,比如写入操作由使用者决定等。PS:转载或者使用请保留声明,谢谢!#ifndef INI_FILE_H_#define INI_FILE_...原创 2018-12-28 00:49:43 · 615 阅读 · 0 评论