内核要执行一个应用程序,唯一的途径是通过系统调用,exec函数,exec又会调用启动程序,启动程序(通常是汇编语言)以类似下面的方式调用main函数:
void exit(main(argc, argv));
那么在main函数末尾使用exit(0)和使用return 0是等价的。这里有三个正常终止程序的函数:
void exit(int status); // 先执行一些清理操作,...
分类:
其他好文 时间:
2014-05-11 20:11:19
阅读次数:
394
1.main函数C程序总是从main函数开始执行,当内核执行C程序时,在调用main函数之前先调用exec函数从内核获取命令行参数和环境变量值2.进程终止正常终止:(1)在main函数内执行return语句(2)调用exit(3)最后一个线程从其启动例程返回(4)最后一个线程调用pthread_ex...
分类:
其他好文 时间:
2014-05-08 11:28:22
阅读次数:
300
1)父进程先于子进程终止:此种情况就是我们前面所用的孤儿进程。当父进程先退出时,系统会让init进程接管子进程
。2)子进程先于父进程终止,而父进程又没有调用wait或waitpid函数此种情况子进程进入僵死状态,并且会一直保持下去直到系统重启。子进程处于僵死状态时,内核只保存进程的一些必要信息以备...
分类:
其他好文 时间:
2014-05-01 19:14:22
阅读次数:
283