易截截图软件、单文件、免安装、纯绿色、仅160KB

linux下的umask( )函数、setsid( )函数

       umask()函数:此函数的主要作用是在创建文件时设置或者屏蔽掉文件的一些权限。一般与open()函数配合使用。open函数原型:
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
int open( const char * pathname, int flags);
int open( const char * pathname,int flags, mode_t mode);
当创建一个文件并且要明确指定此文件的权限时,应该使用第二个open()函数,明确指定mode参数,所创建的文件最后的权限是:mode&(~mask)。默认的mask值是:022
例:
int main()
{
    int fd;
    umask(0026);
    fd = open("test.txt",O_RDWR | O_CREAT,0666);
    if(fd < 0)
        perror("open");
    return 0;
}
则生成的test.txt文件的权限是:666&(~026)结果是:-rw-r--r--。如果没有umask(0026);这条语句,则生成的test.txt文件的权限是:666&(~022)结果是:-rw-r-----。注:open函数的mode参数只有在创建文件时才有效。
      setsid( )说明:进程从它的双亲进程获得它的对话过程和进程组识别号。setsid()就是将进程和它当前的对话过程和进程组分离开,并且把它设置成一个新的对话过程的领头进程。
pid_t pid = fork();
if (pid == 0) {
        ...
        int result = execl(path, "adb", "fork-server", "server", NULL);
} else {
        // run a program in a new session
        setsid();//之前parent和child运行在同一个session里,而且parent是session头,
        //所以作为session头的parent如果exit结束执行的话,那么会话session组中的所有进程将都被杀死;
        //所以执行setsid()之后,parent将重新获得一个新的会话session组id,child将仍持有原有的会话session组,
        //这时parent退出之后,将不会影响到child了。
}
      会话session是一个或多个进程组的集合


相关文档:

【简介】如何编写linux下nand flash驱动 2


version: 1.0
date:20090721
Author:crifan
Mail:green-waste(At)163.com
上接:【简介】如何编写linux下nand flash驱动-1
http://green-waste.blog.163.com/blog/static/3267767820096221127554/
 
【读(read)操作过程详解】
以最简单的read操作为例,解释如何理解时序图,以及将时序图
中的要求,转化 ......

Linux 内核配置及编译简介

1.为什么要编译Linux 内核
  众所周知,Linux是开放源码的操作系统,开放源码软件带给我们这计算机水平相对落后的人群的最大好处,就是可以快速学习世界高水平的程序(体系结构及编程方法等等),从而快速提高自身水平。然而这本身,也使多数开放源码软件在编码易用性、针对性方面比不上Microsoft等专业软件公司的产品。使用开 ......

Linux内核裁减

http://blog.sina.com.cn/s/blog_490168e50100dw9r.html
一、内核编译
1、准备工作
(1)整理出系统需要支持的硬件、文件系统类型以及网络协议等内容。
(2)建议用命令uname –r 查看一下系统的版本号,如果你的系统版本与将要编译的内核版本一致,建议将/lib/modules下的内容备份,否则将来的make modules_insta ......

linux svn命令大全

1、
将文件checkout到本地目录
svn
checkout
path(path是服务器上的目录)
例如:svn
checkout svn
://192.168
.1.1
/pro/domain
简写:svn
co
2、
往版本库中添加新的文件
svn

add
file
例如:svn
add test.php(添加test.php)
svn
add *.php(添加当前目录下所有的php文件)

3、
将改动 ......

linux 基本命令

使用TAB键
用鼠标拷贝和粘贴提高操作速度     左键拖动---拷贝    中键点击---粘贴
1、mkdir 建立新目录名    加“." 在目录名前为隐藏目录(ls -a可查看)
     rm -rf 目录名   删除目录及子目录  rm -- -ee删除-ee文件  或者 rm "文件名"

2、m ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号