- 论坛徽章:
- 0
|
一、进程的定义:程序执行和资源管理的最小单位。
二、进程控制:
(1)进程标识:
进程标识
子进程号
父进程号
头文件
#include
#include
函数功能
取得当前进程的进程号
取得当前进程的父进程号
函数原型
Pid_t getpid(void)
Pid_t getppid(void)
函数返回值
成功返回进程的进程标识符
成功返回父进程的进程标识符
注:Pid_t其实是一个typedef类型,相当于unsigned int.
例:
#include
#include
int main()
{
printf("系统分配的进程号是:%d\n",getpid());
printf("系统分配的父进程号是:%d\n",getppid());
return 0;
}
(2)进程的创建:
1)exec族函数:
头文件
#include
原型
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
#include
int main()
{
char *args[]={"/usr/bin/vim",NULL};
printf("系统分配的进程号是:%d\n",getpid());
if(execve("/usr/bin/vim",args,NULL)
头文件
#include
功能
在进程中开始另一个进程
原型
int system(const char *string)
传入值
系统变量
返回值
成功则返回执行shell命令后的返回值,调用/bin/sh数百返回127,其他
失败返回-1,三叔string为空返回非零值
例:
#includeLinux博客/红联Linux博客l~
vQ*V!`N3dV
#include
$]coQ1T*qF,v[+k6y'\0int main()
["FpI*u.l|t
gh0{
{YBk&X0 int newret;
4`O
Ne3O-m0 printf("系统分配的进程号是:%d\n",getpid());Linux博客/红联Linux博客!UM2?W:H FK FN}
newret=system("ping group.google.com/group/linuxerfamily");Linux博客/红联Linux博客@
I4G,WV%zau
return 0;
0f |
|