父进程获取子进程退出状态(1) -- 通过信号传递..
main.cpp: #include <unistd.h> #include <iostream> #include <sys/wait.h> #include <signal.h> #include <stdlib.h> using namespace std; void child_over_callback(int); void parent_sig_handler(int sig) { cout << "parent catch signal:" << sig << endl; if (sig == SIGCHLD) { int status; pid_t pid; pid = wait(&status); cout << "parent's child - pid:"<< ...
作者: flynetcn 发布时间: 12-23
用正则表达式提到c程序注释
“提取c程序注释”,这是一个典型的状态机问题,但在此我想用正则表达式(regExp)工具来解决。 perl的正则表达式很强,起初我想到“多行匹配”,将c文件整个读入一个串变量,然后逐个抽取/*块注释*/。这可能需要使用选项 /m /g ,还得考虑行注释和块注释符的混合情况,是个棘手的问题。 初次尝试 发现一个大问题: 匹配最大串还是最小串? # perl 5.12 # // 行注释 # /* */ 块注...
作者: vivieu 发布时间: 12-23
linux sort命令的用法
sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始! 1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。 [rocrocket@rocrocket programming]$ cat seq.txt banana apple pear orange [rocrocket@rocrocket programming]$ sort seq.txt apple banana o...
作者: miclesvic2003 发布时间: 12-22
Linux进程学习笔记
#include <sys/wait.h> pid_t wait(int *stat_loc); 暂停父进程,直到子进程完成或退出。若stat_loc不为空则将子进程的退出代码或者状态信息保存到上面。下面这些宏解释这个状态信息 WIFEXITED(stat_val) 如果子进程正常结束,它就取一个非零值 WEXITSTATUS (stat_val) 如果WIFEXITED,则它返回子进程的退出代码 WIFSIGNALED (stat_val) 如果子进程因为未捕获的信号而终止,...
作者: cjjnjust 发布时间: 12-22
IPADD shell编程
脚本:判断 ‘/etc/sysconfig/network-scripts/ifcfg-eth0’ BOOTPROTO=(dhcp)|(bootp) 变为static IPADDR= NETMASK= 程序如下: #!/bin/bash FILE="/etc/sysconfig/network-scripts/ifcfg-eth0" read -P "Please input a ipaddress[192.168.0.1]:" MYIP [ -z $MYIP ] && MYIP='192.168.0.1' echo "Please input a netmask[255.255.255.0]:" cat << EOF 1) 255.255.255.0 2) 2...
作者: 《一剑》飘香 发布时间: 12-22
Perl的array 动态添加 push unshift pop shift
废话不多讲,直接上需求 有一个文件,里面每一行保存一条记录,每一条记录有两个字段,第一个字段为数字,第二个字段表示被提取的内容,第一个字段表示内容在对应文件的行数。 现在,我假定行数相同的内容划分为同一类。需要做的就是,统计总共有多少类,并将每条记录所属类别标记出来,写到文件中。。 下面是源代码(countCLS.pl): 1 #!/usr/bin/perl 2 my $in = $ARGV[0...
作者: neobilly 发布时间: 12-22
内核模块编程之入门(二)—必备知识
模块编程属于内核编程,因此,除了对内核相关知识有所了解外,还需要了解与模块相关的知识。 1.应用程序与内核模块的比较 为了加深对内核模块的了解,表一给出应用程序与内核模块程序的比较。 表一 应用程序与内核模块程序的比较 C语言应用程序 内核模块程序 使用函数 Libc库 内核函数 运行空间 用户空间 内核空间 运行权限 普通用户 超级用户 入口函数 main() module_init...
作者: nxsky 发布时间: 12-22
DMA映射 dma_addr_t
DMA映射 dma_addr_t 2010-09-20 11:09 DMA映射 一个DMA映射是要分配的DMA缓冲区与为该缓冲区生成的、设备可访问地址的组合。 DMA映射建立了一个新的结构类型---dma_addr_t来表示总线地址。 dma_addr_t类型的变量对驱动程序是不透明的, 唯一允许的操作是将它们传递给DMA支持例程以及设备本身。 根据DMA缓冲区期望保留的时间长短,PCI代码有两种DMA映射: 1)一致性映射 2)流式...
作者: 空灵静世 发布时间: 12-22
ubuntu下设置开启终端的快捷键
目标:设置Alt+Ctrl+x作为开启终端的快捷键 设置方法: System —> Preferences ->Keyboard Shutcuts -> Desktop -> Run a Terminal 然后在shutcuts中按Alt+Ctrl+x即可。
作者: Alan0521 发布时间: 12-22
rman学习笔记(3)-转载
一、Copy备份: Copy用于数据文件的备份,可以复制单个数据文件、归档日志和控制文件等等。(其实跟OS里的复制粘贴是一个道理) 具体语法如下: COPY KEYWORD <input_file> TO <location> ; 其中:input_file用文件地址'D:\oracle\oradata\dodo\WXQ_TBS.ORA'来表示需要备份的单个数据文件。 关键字说明了文件的类型,包括: DATAFILE: 备份数据文件 CURRENT CONTROLFILE: 备份...
作者: xidian2002 发布时间: 12-22