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

学习linux多线程编程 相关概念

学习Linux多进程编程
一、进程的定义:程序执行和资源管理的最小单位。
二、进程控制:
(1)进程标识: 进程标识  子进程号  父进程号
 头文件  #include<unistd.h>  #include<unistd.h>
 函数功能  取得当前进程的进程号  取得当前进程的父进程号
 函数原型  Pid_t getpid(void) Pid_t getppid(void) 
 函数返回值  成功返回进程的进程标识符   成功返回父进程的进程标识符
注:Pid_t其实是一个typedef类型,相当于unsigned int.
例:
 #include<stdio.h>
#include<unistd.h>
int main()
{
   printf("系统分配的进程号是:%d\n",getpid());
   printf("系统分配的父进程号是:%d\n",getppid());
   return 0;
}
 (2)进程的创建:
    1)exec族函数:
 头文件  #include<unistd.h>
原型
int execl(const chat *path,const char *args,...)
int execv(const char *path,char const *argv[])
int execle(const cahr *path,const char *arg,...,char *const envp[])
int execve(const char *path,char *const argv[],char *const envp[])
int execlp(const char *file,char *arg,...)
int execvp(const cahr *file,char *const argv[])
 
返回  返回-1表示出错
由于比较多,在此只举例execve函数:
#include<stdio.h>
#include<unistd>
int main()
{
   char *args[]={"/usr/bin/vim",NULL};
   printf("系统分配的进程号是:%d\n",getpid());
   if(execve("/usr/bin/vim",args,NULL)<0)
     perror("创建进程出错!");
    return 0;
}
注:在用execve函数创建新进程的后,会以新的程序取代原来的进程,然后系统会从新的进程运行,但是新的进程的PID值会与原来进程的PID值相同.
2)system()函数
 头文件  #include<stdlib.h>
 功能  在进程中开始另一个进程
 原型  int system(const char *string)
 传入值  系统变量
 返回值
 成功则返回执行shell命令后的返回值,调用/bin/sh数百返回127,其他
失败返回-1,三叔string为空返回非零值
&nb


相关文档:

Linux设备模型之input子系统详解

一:前言
最近在研究android的sensor driver,主要是E-compass,其中用到了Linux input子系统.在网上也看了很多这方面的资料,感觉还是这篇分析的比较细致透彻,因此转载一下以便自己学习,同时和大家分享!
(这篇博客主要是以键盘驱动为例的,不过讲解的是Linux Input Subsystem,可以仔细的研究一下!)
键盘驱动将检 ......

基于ARM的嵌入式linux 内核的裁剪与移植


0 引言
   
微处理器的产生为价格低廉、结构小巧的CPU和外设的连
接提供了稳定可靠的硬件架构,这样,限制嵌入式系统发展的瓶颈就突出表现在了软件方面。尽管从八十年代末开始,已经陆续出现了一些嵌入式操作系统(比较著
名的有Vxwork、pSOS、Neculeus和Windows
CE)。但这些专用操作系统都是商 ......

LINUX下看在线视频:rtsp 改为 mms

比如说要看 
http://broadcast.hzcnc.com/player.asp?code=345&pname=%u65e0%u95f4%u9053
$ curl 'http://broadcast.hzcnc.com/Play.aspx?code=345'
<ASX VERSION = "3.0">
  <ENTRY>
    <REF HREF = &quo ......

[转]如何实现Windows远程连接Linux操作系统

 
准备好两台已经上网的电脑。
 
1、设置等会要连接到的Linux系统
 
(1)必须是安装了telnet软件的系统,其中该软件分为两部分,分别是telnet-client和telnet-server,其中前者默认已经装好,而后者则需自己进行安装。在这里,笔者自己的是RedHat的FC6系统,所以可以输入命令yum install telnet-serve ......

关于linux忘记密码的一个最简单的方法

网上有很多的方法,关于忘记linux登录密码之后应该怎么办。有五种方法,都很好。
本人以为用grub引导的那种最实用,呵呵!试了一下,果然可以!!
grub引导

1. 在出现grub画面时,选择linux引导项,然后按e键
2. 选择以kernel开头的一行,再按e 键,在此行的末尾,按空格键后输入single,以回车键来退出编辑模式; ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号