> For the complete documentation index, see [llms.txt](https://book.bsdcn.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://book.bsdcn.org/man/sys/aio_cancel.2.md).

# aio\_cancel.2

`aio_cancel` — 取消未完成的异步 I/O 操作（REALTIME）

## 名称

`aio_cancel`

## 库

Lb libc

## 概要

`#include <aio.h>`

```c
int
aio_cancel(int fildes, struct aiocb *iocb);
```

## 描述

`aio_cancel()` 系统调用取消指定文件描述符 `fildes` 上未完成的异步 I/O 请求。如果指定了 `iocb`，则仅取消该特定的异步 I/O 请求。

被取消的请求会进行正常的异步通知。这些请求将以 `ECANCELED` 错误结果完成。

## 限制

`aio_cancel()` 系统调用不会取消裸盘设备的异步 I/O 请求。对于与裸盘设备关联的文件描述符，`aio_cancel()` 系统调用将始终返回 `AIO_NOTCANCELED`。

## 返回值

`aio_cancel()` 系统调用出错时返回 -1，或返回以下值之一：

**\[`AIO_CANCELED`]** 所有符合条件的未完成请求均已取消。

**\[`AIO_NOTCANCELED`]** 部分请求未被取消，应使用 [aio\_error(2)](/man/sys/aio_error.2.md) 检查这些请求的状态。

**\[`AIO_ALLDONE`]** 所有符合条件的请求均已完成。

## 错误

`aio_cancel()` 返回错误表示：

**\[EBADF]** `fildes` 参数是无效的文件描述符。

## 参见

[aio\_error(2)](/man/sys/aio_error.2.md), [aio\_read(2)](/man/sys/aio_read.2.md), [aio\_return(2)](/man/sys/aio_return.2.md), [aio\_suspend(2)](/man/sys/aio_suspend.2.md), [aio\_write(2)](/man/sys/aio_write.2.md), [aio(4)](/man/man4/aio.4.md)

## 标准

`aio_cancel()` 系统调用预期符合 IEEE Std 1003.1 ("POSIX.1") 标准。

## 历史

`aio_cancel()` 系统调用首次出现于 FreeBSD 3.0。`aio_cancel()` 的首个可用实现出现于 FreeBSD 4.0。

## 作者

本手册页最初由 Wes Peters <wes@softweyr.com> 编写。Christopher M Sedore <cmsedore@maxwell.syr.edu> 在 FreeBSD 4.0 中实现 `aio_cancel()` 时对其进行了更新。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://book.bsdcn.org/man/sys/aio_cancel.2.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
