nohup的用法
封面图
•
2025-10-29
•
Linux
172
0
0
0
`nohup` 是 Linux/Unix 系统中用于在后台运行命令的工具,它的全称是 **No Hang Up**。使用 `nohup` 可以让某个命令在终端关闭后继续运行(即不依赖当前终端会话),非常适合长时间运行的任务。 --- ## ✅ 基本用法 ```bash nohup command & ``` - `command`:你要运行的命令。 - `&`:将命令放到后台运行。 - `nohup` 会将命令的标准输出和标准错误输出重定向到一个文件中,默认是 `nohup.out`。 --- ## 📌 示例 ### 示例 1:运行一个简单的脚本 ```bash nohup ./my_script.sh & ``` 这会把 `my_script.sh` 在后台运行,并且即使你退出终端,它也会继续执行。 --- ### 示例 2:运行 Python 脚本 ```bash nohup python3 my_app.py & ``` --- ### 示例 3:指定输出文件 如果你不想使用默认的 `nohup.out`,可以手动指定输出文件: ```bash nohup python3 my_app.py > output.log 2>&1 & ``` - `> output.log`:将标准输出重定向到 `output.log` - `2>&1`:将标准错误也重定向到标准输出(即也写入 `output.log`) --- ## 🔍 查看 nohup 的输出 默认情况下,`nohup` 会将输出保存在 `nohup.out` 文件中。你可以使用以下命令查看输出内容: ```bash tail -f nohup.out ``` 或者查看整个文件: ```bash cat nohup.out ``` --- ## 🛠️ 注意事项 1. **权限问题**:如果 `nohup.out` 无法写入,可能会报错。可以手动创建该文件或使用其他路径。 ```bash touch nohup.out ``` 2. **退出终端不影响任务**:使用 `nohup` 后,即使你关闭了终端,任务仍然在后台运行。 3. **查看后台进程**: ```bash jobs ``` 或者查看所有进程: ```bash ps aux | grep my_app.py ``` 4. **终止后台进程**: 先找到进程 ID: ```bash ps aux | grep my_app.py ``` 然后使用 `kill` 命令终止: ```bash kill PID ``` --- ## ✅ 总结 | 命令 | 说明 | |------|------| | `nohup command &` | 在后台运行命令,即使终端关闭也不中断 | | `nohup command > file 2>&1 &` | 将输出重定向到指定文件 | | `nohup.out` | 默认输出文件 | | `jobs` | 查看当前终端后台运行的进程 | | `ps aux | grep ...` | 查看所有进程 | --- 如果你有具体的命令想用 `nohup` 运行,我可以帮你写出完整的命令。欢迎继续提问!
上一篇:
介绍一下linux gcc特性
下一篇:
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
标题录入,一次不能超过6条
返回顶部
留言
留言
评论