nohup 学习笔记
目录
✅ nohup 的优点
📌 基本语法
💡 常见示例
1. 运行 Python 脚本并后台执行
2. 自定义输出日志文件
3. 使用自定义 shell 脚本
4. 查看正在运行的 nohup 进程
5. 杀掉后台进程(示例)
nohup
是 Linux / Unix 系统中一个非常常用的命令,主要用于在用户退出登录或关闭终端后继续运行程序。它可以防止程序因为挂断(SIGHUP)信号而被系统杀掉。
✅ nohup 的优点
-
后台运行程序:即使关闭终端,程序仍继续运行。
-
防止挂起信号中断程序:避免因 SSH 会话断开或终端关闭导致程序终止。
-
自动重定向输出:默认将程序的输出重定向到
nohup.out
文件中,便于查看日志。 -
简单方便:不需要额外安装工具,系统自带。
📌 基本语法
nohup command [args...] &
-
nohup
:防止命令受到挂起信号影响。 -
command
:你想要执行的命令或脚本。 -
&
:将命令放入后台运行。
💡 常见示例
1. 运行 Python 脚本并后台执行
nohup python3 my_script.py &
输出会被写入
nohup.out
文件。
2. 自定义输出日志文件
nohup python3 my_script.py > output.log 2>&1 &
-
>
:重定向标准输出。 -
2>&1
:将标准错误也重定向到标准输出。 -
&
:后台运行。
3. 使用自定义 shell 脚本
nohup ./run_task.sh > task.log 2>&1 &
4. 查看正在运行的 nohup 进程
ps aux | grep my_script.py
或者使用:
jobs -l
5. 杀掉后台进程(示例)
kill -9 <PID>