在Linux操作系统中,程序默认在前台运行,这意味着用户必须等待程序执行完毕才能进行其他操作。如果希望程序在后台运行,即使用户退出终端,程序也能继续执行,就需要将程序转入后台。
&
符号:在命令行中,在命令的末尾添加 &
符号,可以将程序转入后台运行。&
符号:在命令行中,在命令的末尾添加 &
符号,可以将程序转入后台运行。nohup
命令:nohup
命令可以让程序忽略挂起信号(SIGHUP),即使用户退出终端,程序也能继续运行。nohup
命令:nohup
命令可以让程序忽略挂起信号(SIGHUP),即使用户退出终端,程序也能继续运行。screen
或 tmux
:这些工具可以创建多个虚拟终端会话,允许用户在不同的会话中运行程序,并可以在会话之间切换。screen
或 tmux
:这些工具可以创建多个虚拟终端会话,允许用户在不同的会话中运行程序,并可以在会话之间切换。&
符号后,程序仍然在前台运行?原因:
解决方法:
nohup
命令,并将输出重定向到文件,避免终端被阻塞。nohup
命令,并将输出重定向到文件,避免终端被阻塞。解决方法:
jobs
命令查看当前终端会话中的后台任务。jobs
命令查看当前终端会话中的后台任务。ps
命令查看系统中的所有进程。ps
命令查看系统中的所有进程。解决方法:
fg
命令,后面跟上作业编号(从 jobs
命令中可以看到)。fg
命令,后面跟上作业编号(从 jobs
命令中可以看到)。# 使用 & 符号将程序转入后台
python myscript.py &
# 使用 nohup 命令将程序转入后台,并将输出重定向到文件
nohup python myscript.py > output.log 2>&1 &
# 使用 screen 创建虚拟终端会话
screen -S mysession
python myscript.py
Ctrl+A + D # 脱离当前会话
领取专属 10元无门槛券
手把手带您无忧上云