[basic linux基础]-进程
来源:互联网 发布:mtv制作软件 免费版 编辑:程序博客网 时间:2024/04/30 04:33
#include <sys/ytpes.h>#include <unistd.h>pid_t fork(void);
在父进程中fork调用,返回的是子进程的pid(就是当前调用fork的进程id);
子进程的fork调用,返回的是0;(就是说fork(void)语句,父子两个进程都有返回值)
这时候新老两个进程同时接着执行,各自都有自己的pid。因为fork系统调用复制了当前进程,在进程表中创建一个新的表项,新表相的许多属性与当前进程是相同的,新进程几乎与原进程一模一样,执行的代码也完全相同,但是新进程有自己的数据空间、环境和文件描述符,fork与exec函数结合在使用就是创建新进程所需要的一切了;
/*************************************************************************> File Name: fork1.c> Author: > Mail: > Created Time: 2016年03月21日 星期一 10时19分20秒 ************************************************************************/#include<stdio.h>#include<sys/types.h>#include<unistd.h>#include<stdlib.h>int main(){ pid_t pid; char *message; int n; printf("fork program starting\n"); pid = fork(); printf("pid = %d\n",pid); switch(pid){ case -1: perror("fork failed"); exit(1); case 0: message = "this is the child"; n = 5; break; default: message = "this is the program"; n = 3; break; } for(;n>0;n--){ puts(message); sleep(1); } exit(0);}等待一个进程:fork启动了一个子进程,子进程有了自己的生命周期并将运行。那么我们怎么控制父子两个进程的运行顺序呢?
使用wait()函数,在父进程中调用wait,让父进程等待子进程的结束。
#include <sys/types.h>#incldue <sys/wait.h>pit_d wait(int *stat_loc>
0 0
- [basic linux基础]-进程
- Linux守护进程基础
- Linux进程基础
- Linux进程基础
- Linux进程基础
- linux进程控制基础
- Linux进程基础
- 【Linux基础】进程结构
- 【Linux基础】进程属性
- 【Linux基础】进程管理
- 【Linux基础】进程模式
- Linux进程基础
- Linux基础-进程相关
- Linux进程基础
- Linux编程---进程基础
- Linux进程基础
- Linux基础:进程管理
- (转)Linux进程基础
- 支付宝手机支付 支付宝集成获取私钥与公钥
- 238. Product of Array Except Self
- Http Post 方式访问Web Service
- html判断IE版本
- iOS开发调试技巧
- [basic linux基础]-进程
- 解决移动端a:active伪类无效的方法
- 数据透视表
- android集成最新支付宝遇到的坑
- AFNetworking源码解析<三>
- 122. Best Time to Buy and Sell Stock II
- 队列的链式存储
- Java基础之OOM
- Linux学习笔记2-tomcat启动及控制台查看