请总结 subprocess.run() 函数的功能和使用方式。要求输出为 markdown 格式，并且每个使用方式所在的段落不短于 3 句话。
user
```markdown
`subprocess.run()` 是 Python `subprocess` 模块中的一个函数，用于在新进程内执行命令，并等待命令完成。它可以方便地与外部命令进行交互，提供了一个广泛的参数集来控制子进程如何被创建和通信。该函数返回一个 `CompletedProcess` 实例，其中包含了子进程的信息，如返回码、标准输出和标准错误等。

使用 `subprocess.run()` 时，最基本的方式是传递一个命令和参数组成的列表。例如，`subprocess.run(['ls', '-l'])` 将执行 `ls -l` 命令并返回一个 `CompletedProcess` 对象。如果需要获取命令的输出或错误信息，可以通过 `stdout` 和 `stderr` 参数指定输出重定向，通常会使用 `subprocess.PIPE` 来捕获这些输出，然后通过 `stdout` 和 `stderr` 属性读取。

对于需要处理命令的结果或异常的情况，可以通过 `check=True` 参数使 `subprocess.run()` 在命令返回非零退出码时抛出 `CalledProcessError` 异常。这在脚本需要严格检查命令执行是否成功时非常有用。此外，`subprocess.run()` 也支持指定超时时间，通过 `timeout` 参数，如果命令执行超过指定的时间未完成，将触发 `subprocess.TimeoutExpired` 异常，从而避免无响应的命令阻塞程序。
```
assistant