学习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
相关文档:
Service Discovery Protocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。
服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetooth client发现可用bluetooth server服务和它们的特征的方法。 ......
在linux中,当我们因为需要新添加一块硬盘,或者是我们swap交换分区空间不够,需要增加,我们怎么来处理呢?首先,找一块新硬盘,在断电的情况下接入,启动计算机,接就进行如下操作:
一、新增磁盘分区、格式化
首先用fdisk -l 查看新增硬盘的盘符,例如/dev/sdb;
将其分成三个区:
#fdis ......
首先, 我的FF版本是3.0.16的,从官网(http://get.adobe.com/flashplayer/)上下载.tar.gz包后。。解压出里面的一个*.so文件
件之后,把该文件复制到/usr/lib/mozillia/plugins下,重启ff就OK了。
(以上方法仅供参考,至少我是这样做的,并且成功了,) ......
1:linux下批量将大写目录或文件名改为小写命令
ZIP 先打成包,ZIP -r A A/*,再UNZIP -LL A B (A/*表示A目录下的所有文件)(A和B都为.zip文件,-LL 变大写为小写的参数)
则,A包里的大写目录和文件 ......
linux下构建建设完美FTP服务器,可管理,WEB管理,管理界面。
一、安装Ubuntu5 Desktop版
安装过程不难,依照http://wiki.ubuntu.org.cn快速设置即可,注意下面两点:
1、网通用户请选择上海交大的源,比较快。
2、ms分区下的中文目录名显示为???
这时,你要编辑/etc/fstab。比如我的笔记本中的fstab文件改后是:
# ......