日期:2014-05-16  浏览次数:20599 次

高级Linux程序设计第三章:进程

?

高级Linux程序设计第一章:入门

http://forfuture1978.iteye.com/blog/649981

高级Linux程序设计第二章:编写良好的Linux软件

http://forfuture1978.iteye.com/blog/652338

?

?

  • 每个进程都有一个唯一的进程号。

  • 每个进程都有一个父进程。

  • 系统中的进程以树的形式组织,init进程(进程号为1)作为根。

    • 进程0是调度进程,没有程序与之对应,是内核的一部分。

    • 进程1是init进程,是在系统启动的阶段由内核启动的,对应/sbin/init程序,是普通的用户进程。

  • 程序中可以通过getpid()得到进程号,通过getppid()得到父进程的进程号。

?

#include <stdio.h>

#include <unistd.h>

int main ()

{

??? printf (“The process ID is %d\n”, (int) getpid ());

??? printf (“The parent process ID is %d\n”, (int) getppid ());

??? return 0;

}

  • 通过ps命令可以得到系统中运行的所有进程。

  • 通过kill命令可以杀掉某个进程。

1、创建进程

1.1、system函数

  • system函数提供了一种在程序中运行一个命令的简单方法。

?

#include <stdlib.h>

int main ()

{