1、无论何时何地,要检查系统调用或者库函数的返回状态。
2、Note: system calls indicate a failure by returning a negative error number to the caller; when this happens, the wrapper function negates the returned error number (to make it positive), copies it to errno, and returns -1 to the caller of the wrapper.
【注】如果系统调用失败,会返回一个负值,而外壳函数会将该负值转换为一个正值,并且拷贝给errno,改变返回值为-1.
3、exit()和_exit()有什么区别?
_exit()相比较于exit而言,避免了子进程刷新继承自父进程的stdio缓冲区副本,同时不会调用父进程的退出处理程序。
【注】在子进程中使用_exit(),在父进程中使用exit().