在
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
,强制杀死进程,但僵尸进程也无法杀死