`nohup` 是 Unix/Linux 系统中一个常用的命令,用于在后台运行其他命令,并且即使关闭终端也不会终止该命令的执行。它的名字来源于 "no hang up"。 基本语法 ```sh nohup COMMAND [ARG]... & ``` 常用选项 - `&`: 将命令放入后台执行。 - `nohup.out`: 如果未重定向输出,默认会将输出写入当前目录的 `nohup.out` 文件。 示例 1. 基本使用: ```sh nohup my_command & ``` 这条命令会在后台运行 `my_command`,并且不会因为关闭终端而停止。 2. 重定向输出到指定文件: ```sh nohup my_command > output.log 2>&1 & ``` 这条命令不仅在后台运行 `my_command`,还将标准输出和标准错误都重定向到 `output.log` 文件中。 3. 结合其它命令使用: ```sh nohup python3 my_script.py & ``` 这条命令将在后台运行 Python 脚本 `my_script.py`。 注意事项 - 使用 `nohup` 后,命令的标准输出和标准错误会被默认重定向到 `nohup.out`,如果需要自定义输出文件,可以使用重定向符号(如上例所示)。 - `nohup` 命令本身没有提供查看命令状态的功能,可以通过 `ps`、`top` 或 `jobs` 等命令查看后台进程。 - 要终止使用 `nohup` 运行的命令,可以使用 `kill` 命令,根据进程 ID 来终止相应的进程。 通过这些方式,你可以有效地在后台运行长时间任务,而不必担心它们因终端关闭而被中断。 [2024-12-09 15:41:41 | AI写代码神器 | 436点数解答]