Linux系统学习(进程)——1.进程的创建

1.进程的创建
Linux下产生新进程的系统调用是fork函数,fork系统调用产生一个新的进程,称为子进程,是调用进程的一个复制品,调用进程称为父进程,子进程集成父进程的几乎所有属性,其函数原型和参数如下。
(1)头文件
#include <sys/types.h>
#include <unistd.h>
(2)函数原型
pid_t fork(void);         //在type.h中它被定义为int
(3)函数的返回值
子进程中返回0,父进程中返回子进程ID,出错返回-1。
(4)函数说明
一个现有进程可以调用fork函数创建一个新进程(子进程)。fork函数被调用一次但返回两次,两次返回的唯一区别为子进程中返回0值,父进程中返回子进程ID。

子进程活得父进程数据空间、堆栈等资源的副本。他们之间共享的存储空间只有代码段。

例1.1创建子进程实例

#include <sys/types.h>
#include <unistd.h>

main()
{
	pid_t child_pid;
	in child_status;

	child_pid = fork();                   //创建一个子进程
	switch (child_pid){
		case -1:
			perror("fork");
			exit(1);
		case 0:
			printf("hello world\n");
			exit(0);
		default:
			wait(&child_status);
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.基本系统进程   Csrss.exe:这是子系统服务器进程,负责控制Windows创建或删除线程以及16位的虚拟DOS环境。   System Idle Process:这个进程是作为单线程运行在每个处理器上,并在系统不处理其它线程的时候分派处理器的时间。   Smss.exe:这是一个会话管理子系统,负责启动用户会话。   Services.exe:系统服务的管理工具。   Lsass.exe:本地的安全授权服务。   Explorer.exe:资源管理器。   Spoolsv.exe:管理缓冲区中的打印和传真作业。   Svchost.exe:这个进程要着重说明一下,有不少朋友都有这种错觉:若是在“任务管理器”中看到多个Svchost.exe在运行,就觉得是有病毒了。其实并不一定,系统启动的时候,Svchost.exe将检查注册表中的位置来创建需要加载的服务列表,如果多个Svchost.exe同时运行,则表明当前有多组服务处于活动状态;多个DLL文件正在调用它。   至于其它一些附加进程,大多为系统服务,是可以酌情结束运行的。由于其数量众多,我们在此也不便于一一列举。   在系统资源紧张的情况下,我们可以选择结束一些附加进程,以增加资源,起到优化系统的作用。在排除基本系统及附加进程后,新增的陌生进程就值得被大家怀疑了。 更多内容请看Windows操作系统安装、系统优化大全、系统安全设置专题,或进入讨论组讨论。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值