摘要: 7.5 环境表 每个程序都接收到一张环境表。与参数表一样,环境表也是一个字符指针数组,其中每个指针包含一个以null结束的字符串的地址。全局变量environ则包含了该指针数组的地址。 extern char **environ; 例如:如果该环境包含五个字符串,那么它看起来可能如图7 - 2中所示。 图7-2 由五个字符串组成的环境、 其中,每个字符串的结束处都有一个null字符。我们称env... 阅读全文
posted @ 2011-10-11 20:38 郭—大—侠 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 7.4 命令行参数 当执行一个程序时,调用exec的进程可将命令行参数传递给该新程序。这是UNIX shell的一部分常规操作。在前几章的很多实例中,我们已经看到了这一点。 程序7 - 3将其所有命令行参数都回送到标准输出上。注意,通常(UNIX echo(1)程序不回送第0个参数)。 #include int main(int argc, char *argv[]){ int i; ... 阅读全文
posted @ 2011-10-11 20:37 郭—大—侠 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 7.3 进程终止 有8种方式使进程终止(termination),其中5中为正常终止,他们是: l 从main返回; l 调用exit; l 调用_exit或_Exit; l 最后一个线程从其启动例程返回; l 最后一个线程调用pthread_exit; 异常终止有3种方式,他们是: l 调用abort; l 接收一个信号并终止; l 最后一个线程对取消请求做出响应。 上节提及... 阅读全文
posted @ 2011-10-11 20:34 郭—大—侠 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 7.2 main函数 C程序总是从main函数开始执行。main函数的原型是: int main(int argc, char *argv[]) ;其中,argc是命令行参数的数目,a rg v是指向参数的各个指针所构成的数组。7 . 4节将对命令行参数进行说明。当内核起动C程序时(使用一个exec函数,8.9节将说明exec函数),在调用main前先调用一个特殊的起动例程。可执行程序文件将此起动... 阅读全文
posted @ 2011-10-11 20:32 郭—大—侠 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 7.1 引言下一章将介绍进程控制原语,在此之前需先了解进程的环境。本章中将学习:当执行程序时,其main函数是如何被调用的,命令行参数是如何传送给执行程序的;典型的存储器布局是什么样式;如何分配另外的存储空间;进程如何使用环境变量;进程终止的不同方式等。另外,还将说明l o n g j m p和s e t j m p函数以及它们与栈的交互作用。本章结束之前,还将查看进程的资源限制。 阅读全文
posted @ 2011-10-11 20:31 郭—大—侠 阅读(100) 评论(0) 推荐(0) 编辑