您的位置:首页 >如何使用nohup命令在后台运行Python脚本
发布于2026-05-02 阅读(0)
扫一扫,手机访问

有没有遇到过这种情况:你在服务器上启动了一个需要长时间运行的Python脚本,但一关闭终端窗口,程序就跟着中断了?这确实让人头疼。好在,Linux系统里有个非常实用的工具——nohup(no hang-up的缩写)。顾名思义,它能让你启动的程序“不挂断”,即使你退出登录或者关掉终端,任务也会在后台稳稳地继续执行。下面,我们就来一步步看看怎么用好它。
首先,像往常一样打开你的终端(Terminal)。然后,使用cd命令切换到存放你Python脚本的目录。比如,你的脚本放在/home/user/projects这个路径下:
cd /path/to/your/script
定位到目录后,就可以使用nohup命令来运行脚本了。假设你的脚本文件名叫script.py,基础命令格式是这样的:
nohup python script.py &
这里有个关键点:命令末尾的&符号。它的作用就是告诉系统,把这个程序直接放到后台去运行,这样你就能立刻拿回终端的控制权,继续做其他事情。
默认情况下,nohup会把程序的所有输出(标准输出)都自动重定向到当前目录下一个名叫nohup.out的文件里。如果你想自定义输出文件的名称和位置,可以这样做:
nohup python script.py > output.log &
这条命令会把输出内容保存到指定的output.log文件里。运行命令后,按一下回车,你的脚本就已经在后台默默工作了,现在你可以放心地关闭终端窗口。
脚本跑起来之后,怎么知道它运行得顺不顺利呢?很简单,直接查看输出日志文件就行。对于默认情况,使用cat命令:
cat nohup.out
如果你指定了其他的日志文件(比如上面的output.log),查看时替换成对应的文件名即可。
一个更清晰的做法是把程序的一般输出和错误信息分开记录。这在调试时特别有用。你可以使用下面这条命令:
nohup python script.py > output.log 2> error.log &
这样一来,正常的打印信息会进入output.log,而任何错误提示(标准错误输出)都会被单独记录到error.log文件中,排查问题一目了然。
如果任务执行完毕,或者你需要中途停止它,该怎么办?这就需要找到它的“进程ID”(PID)。首先,用ps命令配合grep来查找:
ps aux | grep script.py
在输出的信息中找到对应你脚本的那一行,左边通常会显示一列数字,那就是PID。接着,使用kill命令加上这个PID来终止进程:
kill [PID]
请务必将[PID]替换成你实际查到的数字。执行之后,相应的后台任务就会被结束。
掌握以上这几步,你就能轻松驾驭nohup命令,让那些重要的、耗时的脚本任务在后台可靠地运行,再也不用守着终端了。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9