进程控制

进程的基本环境信息,包括进程的概念,进程的标识、进程的命令行和进程的环境变量。

进程的生命周期,包括进程的创建、新进程的执行、进程的休眠、进程的同步和进行的终止等。

僵死进程是已经终止,但是没有从进程表中清除的进程。

僵死进程的现象、僵死进程的形成原因,以及僵死进程的4中预防方法。

守护进程是一种在后台长期运行的程序,守护进程的概念、守护进程的涉及流程和一个转化为普通进程为守护进程的函数。

进程基本环境

进程是程序的一次执行,是运行在自己的虚拟地址空间的一个具有独立功能的程序。

进程是分配和释放资源的基本单位,当程序执行时,系统创建进程,分配内存和CPU等资源;进程结束时,系统回收这些资源。

进程概念

进程通常是由程序、数据和进程控制块(PCB)三个部分组成的。

程序:描述进程所要完成的功能;

数据:为进程提供了运行所需的堆栈和私有数据;

进程控制块:含有进程的描述和控制信息,集中反映进程的动态特性,是系统识别和控制进程的依据。

1. 进程与程序

进程是程序的一次执行,故程序是一个静态的概念,本身可以作为一种软件资源长期保存;

而进程是程序的执行过程,是动态概念,有一定的生命周期,具有产生、发展和消亡的过程。

程序是一个规划,它计划了所要执行的代码和所要完成的动作;

进程是一位执行者,它依照程序的设计,申请资源,计算数据,并完成预定的任务。

一个程序可以同时由多个进程执行;一个进程也可以有顺序地执行若干个程序。

2. 进程与线程

线程又叫轻负荷进程,它是在进程的基础上的一次执行,一个进程可以有多个线程。

线程没有独立的资源

时间: 2024-10-11 17:30:44

进程控制的相关文章

Linux - 进程控制 代码(C)

进程控制 代码(C) 本文地址:http://blog.csdn.net/caroline_wendy 输出进程ID,getpid(). 代码: /*By C.L.Wang * Eclipse CDT * Ubuntu 12.04 * 2014.10.5*/ #include "apue.h" #include "error.h" int main(void) { printf("hello world from process ID %ld\n"

六、Linux进程控制

1. Linux进程概述 进程是一个程序一次执行的过程,它和程序有本质区别. 程序是静态的,它是一些保存在磁盘上的指令的有序集合:而进程是一个动态的概念,它是一个运行着的程序,包含了进程的动态创建.调度和消亡的过程,是Linux的基本调度单位. 那么从系统的角度看如何描述并表示它的变化呢?在这里,是通过进程控制块(PCB)来描述的.进程控制块包含了进程的描述信息.控制信息以及资源信息,它是进程的一个静态描述. 内核使用进程来控制对CPU和其他系统资源的访问,并且使用进程来决定在CPU上运行哪个程

Linux进程控制编程

一.获取ID #include<sys/types.h> #include<unistd.h> pid_t getpid(void)    获取本进程ID pid_t getppid(void)  获取父进程ID 父进程:现有进程中,创建新的进程. 例:getpid.c #include<stdio.h> #include<unistd.h> #include<stdlib.h> int main() { printf("PID=%d\

APUE(8)---进程控制(1)

一.进程标识 每个进程都有一个非负整型标识的唯一进程ID.因为进程ID标识符总是唯一的,常将其用做其他标识符的一部分以保证其唯一性.进程ID虽然是唯一的, 但是却是可以复用的.ID为0的进程通常是调度进程,常常被称为交换进程(swapper).该进程是内核的一部分,它并不执行任何磁盘上的程序,因此也被称为系统进程.进程ID为1通常是init进程,在自举过程结束时由内核调用.此进程负责在自举内核后启动一个UNIX系统,init通常读取与系统有关的初始化文件,并将系统引导一个状态.init进程绝不会

Linux进程控制(二)

1. 进程的创建 Linux下有四类创建子进程的函数:system(),fork(),exec*(),popen() 1.1. system函数 原型: #include <stdlib.h> int system(const char *string); system函数通过调用shell程序/bin/sh –c来执行string所指定的命令,该函数在内部是通过调用execve("/bin/sh",..)函数来实现的.通过system创建子进程后,原进程和子进程各自运行,

linux 命令及进程控制

main.c  main.o/main.obj  main/main.exe          编译                连接 程序运行;      两步: gcc/g++  -c  main.c/main.cpp  -> main.o              gcc/g++ -o main  main.o -> main(可执行文件)     一步:  gcc -o main mian.c  -> main    工程文件:       rm  *.o     gcc  -

Linux进程控制——exec函数族

原文:http://www.cnblogs.com/hnrainll/archive/2011/07/23/2114854.html 1.简介 在Linux中,并不存在exec()函数,exec指的是一组函数,一共有6个,分别是: #include <unistd.h> extern char **environ; int execl(const char *path, const char *arg, ...); int execlp(const char *file, const char

APUE学习笔记(第八章 进程控制)

本章介绍UNIX系统的进程控制,包括创建新进程.执行程序和进程终止. 进程标识 每一个进程都有一个非负整数表示的唯一进程ID,除了进程ID,每个进程还有一些其他标识符.下列函数返回这些标识符 #include <unistd.h> pid_t getpid(void); pid_t getppid(void); uid_t getuid(void); uid_t geteuid(void); gid_t getgid(void); gid_t getegid(void); 函数fork 一个现

第八章:进程控制

8.1:引言 本章介绍Unix的进程控制,包括创建新进程.执行程序和进程终止.还将说明进程属性的各种ID--实际.有效和保存的用户和组ID,以及它们如何受到进程控制原语的影响.还包括解释器文件和system函数,最后讲述大多数Unix系统所提供的进程会计机制. 8.2:进程标识符 每个进程都有一个非负整型表示的唯一进程ID.虽然是唯一的,但是进程ID却可以重用,当一个进程终止后,其进程ID就可以再次使用了.Unix使用延迟重用算法,避免新进程的ID等于最近终止的进程的ID. 除了进程ID,每个进

【转载】linux进程控制-exec系列 exec系统调用

inux进程控制-exec系列 说是exec系统调用,实际上在Linux中,并不存在一个exec()的函数形式,exec指的是一组函数,一共有6个,分别是: #include <unistd.h>int execl(const char *path, const char *arg, ...);int execlp(const char *file, const char *arg, ...);int execle(const char *path, const char *arg, ...,