nohup 挂载程序在后台运行
**`nohup` 命令在 Linux 系统中用于运行某个命令或程序,使其在用户注销或关闭终端后继续运行**。这个命令的名称来自 "no hang up" 的缩写,意味着 "不挂断"。当你使用 `nohup` 命令时,标准输出和标准错误通常会被重定向到 `nohup.out` 文件中,除非你指定了其他的输出文件。
nohup
命令在 Linux 系统中用于运行某个命令或程序,使其在用户注销或关闭终端后继续运行。这个命令的名称来自 “no hang up” 的缩写,意味着 “不挂断”。当你使用 nohup
命令时,标准输出和标准错误通常会被重定向到 nohup.out
文件中,除非你指定了其他的输出文件。
-
如果你想在后台运行 Python 脚本并且让它在关闭终端后继续运行,可以使用以下命令:
nohup python your_script.py
这里,
your_script.py
是你的 Python 脚本文件名。这个命令会在后台启动脚本,并且输出会被重定向到nohup.out
文件中。如果想要将输出重定向到特定的日志文件,可以使用如下命令:nohup python your_script.py > output.log 2>&1 &
在这个命令中,
>
是重定向标准输出到output.log
文件,2>&1
是将标准错误也重定向到标准输出(即同一个日志文件)。 -
如果你的 Python 脚本在执行过程中需要实时输出,比如长时间运行的任务或者服务器程序,你可能需要关闭 Python 的输出缓冲,这可以通过在
python
命令后添加-u
选项来实现:nohup python -u your_script.py > output.log 2>&1 &
这样,你的脚本的输出就会被实时写入
output.log
文件,而不会因为缓冲而延迟。 -
输出到无底洞:运行时产生的很多很大又没价值的标准输出和标准错误可以定向到/dev/null,任何东西都可以定向到这里,但无法打开,例如:
nohup python your_script.py > /dev/null 2>&1 &
-
最后,如果你需要查看后台运行的
nohup
进程,可以使用ps
命令,或者使用tail -f output.log
来实时查看日志文件的内容。如果需要终止后台进程,可以使用kill
命令加上进程的 PID。PID 可以通过ps aux | grep your_script.py
命令找到,或者如果nohup
命令将 PID 写入了文件,也可以从文件中读取。
更多推荐
所有评论(0)