易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 :

linux 0.11 内核学习 pipe.c


/*
 * 该文件中的两个函数read_pipe和write_pipe是上层函数
 * read和write的底层实现
 */
/*
 *  linux/fs/pipe.c
 *
 *  (C) 1991  Linus Torvalds
 */
#include <signal.h>
#include <linux/sched.h>
// 内存管理头文件。含有页面大小定义和一些页面释放函数原型
#include <linux/mm.h> /* for get_free_page */
#include <asm/segment.h>
/* pipe类似于队列,向pipe的尾部写入数据,从pipe的头部读取数据    */
/* 管道读操作函数    */
/* 参数inode 是管道对应的i 节点,buf 是数据缓冲区指针,count 是读取的字节数 */
/*
 * read_pipe()函数用于读取管道中的数据,如果管道中没有数据的话,
 * 唤醒写管道进程,自己睡眠,如果读到数据,并把数据传到用户缓冲区,
 * 当把管道中所有的数据都取走后,也要唤醒等待写管道的进程,并返回
 * 已读数据字节数
 */
int read_pipe(struct m_inode * inode, char * buf, int count)
{
int chars, size, read = 0;
while (count>0) 
{
......

linux 0.11 内核学习 file_dev.c


/*
 *  linux/fs/file_dev.c
 *
 *  (C) 1991  Linus Torvalds
 */
#include <errno.h>
#include <fcntl.h>
#include <linux/sched.h>
#include <linux/kernel.h>
#include <asm/segment.h>
#define MIN(a,b) (((a)<(b))?(a):(b))
#define MAX(a,b) (((a)>(b))?(a):(b))
/* 根据i 节点和文件结构,读设备数据,为上层的read函数提供函数 */
int file_read(struct m_inode * inode, struct file * filp, char * buf, int count)
{
// 由i 节点可以知道设备号,由filp 结构可以知道文件中当前读写指针位置。buf 指定用户态中
// 缓冲区的位置,count 为需要读取的字节数。返回值是实际读取的字节数,或出错号(小于0)
int left,chars,nr;
struct buffer_head * bh;
// 若需要读取的字节计数值小于等于零,则返回
if ((left=count)<=0)
return 0;

while (left) 
{
// 根据i 节点和文件表结构信息,取数据块文件当前读写位置在设备上对应的逻辑块号nr。若nr 不
// 为0,则从i 节点指定的设备上读取该逻辑块
if (nr = bmap(inode,(filp->f_pos) ......

Linux重定向详解

转载:http://www.cnblogs.com/hexapodsoft/archive/2007/04/24/724902.html
I/O重定向详解及应用实例
1、 基本概念(这是理解后面的知识的前提,请务必理解)
a、 I/O重定向通常与 FD有关,shell的FD通常为10个,即 0~9;
b、 常用FD有3个,为0(stdin,标准输入)、1(stdout,标准输出)、2(stderr,标准错误输出),默认与keyboard、monitor、monitor有关;
c、 用 < 来改变读进的数据信道(stdin),使之从指定的档案读进;
d、 用 > 来改变送出的数据信道(stdout, stderr),使之输出到指定的档案;
e、 0 是 < 的默认值,因此 < 与 0<是一样的;同理,> 与 1> 是一样的;
f、 在IO重定向 中,stdout 与 stderr 的管道会先准备好,才会从 stdin 读进资料;
g、 管道“|”(pipe line):上一个命令的 stdout 接到下一个命令的 stdin;
h、 tee 命令是在不影响原本 I/O 的情况下,将 stdout 复制一份到档案去;
i、 bash(ksh)执行命令的过程:分析命令-变量求值-命令替代(``和$( ))-重定向-通配符展开-确定路径-执行命令;
j、
( ) 将 command group 置于 sub-shell 去执行,也称 nested
sub-shell,它有一 ......

linux 常用网络工具

1,网络整体流量查看
  ifconfig -s
  cat /proc/net/dev
  sar -n DEV/EDEV interval(时间隔) count(次数)
  nload -m [-d interface]
2,详细查看网络流量,比如查看某一个ip/port,某一个协议
  iptraf,文本窗口界面
  ntop,web网页界面 ......

linux 软件的性能分析工具

在linux上,jprofiler可以分析java的软件系统,oprofile可以分析C的软件系统。
oprofile可以说是一个工具集,包含:
ophelp,
opcontrol,
agent libraries,
opreport,
opannotate,
opgprof,
oparchive,
opimport。
常用的工具是opcontrol,opreport,opannotate。opcontrol用来启动来停止profile监控;opreport用来报告测试结果;opannotate用来分析源代码。
详细信息手册:
http://oprofile.sourceforge.net/doc/index.html
......

SubVersion定期完整备份脚本(Linux)

脚本功能: 定期对一些项目进行完整备份.
project.lst 文件格式如下:
project1
project2
备份脚本如下:
#!/bin/sh
#
# subversion data backup script
# by scud http://www.jscud.com
# 2005-11-27
#
# subversion完整备份的脚本,调整好后使用crontab -e 放到自动执行里面即可.
#
#备份日志文件
LogFile=/backup/svn/svnbak.log
DATE=`date +%Y%m%d`
#备份目录
BakDir=/backup/svn/data
#日常备份目录,如果有
DailyDir=/backup/svn/daily
#要备份的项目列表文件,只有项目名
ProjectLst=/backup/svn/project.lst
#所有项目都保存在这个目录下
SvnDir=/var/svn
#svnadmin程序的路径
SVNADMIN=/app/subversion/bin/svnadmin
echo " " >> $LogFile
echo " " >> $LogFile
echo "-------------------------------------------" >> $LogFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile
echo "--------------------------" >> $LogFile
cd $BakDir
#读取项目列表
PROJECTLIST=`cat $ProjectLst`
for project in $PROJECTLIST
do
projectdata=$SvnDir/$project
destdir=$BakDir/$project
dumpfile=$DATE.$pr ......
总记录数:40319; 总页数:6720; 每页6 条; 首页 上一页 [2928] [2929] [2930] [2931] 2932 [2933] [2934] [2935] [2936] [2937]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号