Linux——让程序在后台运行(四种方法+使用推荐)
warning:
这篇文章距离上次修改已过201天,其中的内容可能已经有所变动。
在Linux中,有多种方法可以让程序在后台运行。以下是四种常见的方法,并附带推荐使用的方法。
nohup
命令:
nohup
是No Hang UP的缩写,用于运行由Command参数指定的命令,忽略所有挂断信号。如果Command参数是一个以&
结束的命令,那么该命令将在后台被执行。
nohup command > output.txt 2>&1 &
screen
命令:
screen
是一个全屏窗口管理器,一次可以运行多个Shell会话。使用screen
命令可以创建一个新的会话,并在其中运行程序。
screen -S session_name
./your_program
Ctrl+A, D # 断开当前screen会话
tmux
命令:
tmux
是一个现代化的终端复用器,它能够模拟多个终端会话,并在其中进行分割窗口。
tmux new -s session_name
./your_program
Ctrl+B, D # 断开当前tmux会话
jobs
命令:
jobs
命令用于查看当前shell环境中的作业状态,如果使用&
将程序放到后台运行,可以使用jobs
命令查看作业列表。
./your_program &
jobs -l
推荐使用nohup
:
nohup
是最简单和直接的方法,适合运行无需交互的长时间后台任务。
nohup ./your_program > output.log 2>&1 &
以上命令将程序运行在后台,并将标准输出和标准错误输出重定向到output.log
文件中,使得日志可以保存下来。最后的&
符号表示将任务放到后台运行。
评论已关闭