在 Linux 中,进程控制有四种状态:创建、退出、等待、替换。
本篇博客讲述 退出 状态下的一些事:
退出:如何退出进程
- main 函数中利用 return ;
- 库函数:exit()
void exit(int status) //可以在任意位置调用退出进程 -- 退出前刷新缓冲区
- 系统调用:_exit()
void _exit(int status); //可以在任意位置调用退出进程 -- 直接释放资源,不会刷新缓冲区
退出场景:
正常退出:通过以上三种方式退出,结果符合预期
异常退出:程序因为某种错误中间崩溃退出
查看上一次异常错误出现的原因:
1)perror()
void perror(const char *s); // 库函数,print a system error message
2)strerror
char *strerror(int errnum); // 库函数,strerror, strerror_r - return string describing error number
3)kill
kill 杀死进程,可用来强行关闭进程,如 kill -8 xxx ,xxx为进程的pid。但僵尸进程杀不掉;
kill -9 ,强制杀死进程,但僵尸进程也无法杀死



