在 Linux 系统中,后台命令是指在终端会话关闭后仍然继续运行的命令或进程。以下是一些常用的后台命令和操作方法:
1. 使用 & 符号
在命令末尾加上 & 符号,可以将命令放入后台运行。
command &
例如:
sleep 60 &
2. 使用 nohup
nohup 命令用于在关闭终端后继续运行命令。通常与 & 一起使用。
nohup command &
#例如:
nohup sleep 60 &
#生成的输出会被重定向到 nohup.out 文件中。
3. 使用 screen
screen 是一个终端多路复用器,允许你在一个物理终端上创建多个虚拟终端。它的好处是即使断开连接,进程也能继续运行。
安装 screen:
sudo apt-get install screen # Ubuntu/Debian
sudo yum install screen # CentOS/RHEL
#启动一个新会话:
screen
#在 screen 会话中运行命令:
command
#按 Ctrl + A 然后按 D 可以分离会话,进程会继续运行。重新连接会话:
screen -r
4. 使用 tmux
tmux 是另一个终端多路复用器,功能与 screen 类似。
#安装 tmux:
sudo apt-get install tmux # Ubuntu/Debian
sudo yum install tmux # CentOS/RHEL
#启动一个新会话:
tmux
#在 tmux 会话中运行命令:
command
#分离会话:
Ctrl + B 然后 D
#重新连接会话:
tmux attach
5. 使用 bg 和 fg
将已经在前台运行的命令放入后台,可以使用 Ctrl + Z 暂停它,然后使用 bg 命令将其放入后台运行。
将前台任务暂停并放入后台:
Ctrl + Z
bg
将后台任务带回前台:
fg
6. 查看后台任务
#使用 jobs 命令查看当前终端的后台任务。
jobs
7. 使用 ps 和 top
#使用 ps 命令查看所有进程:
ps aux
#使用 top 命令实时查看进程:
top
8. 使用 disown
使用 disown 命令可以将一个后台任务从当前 shell 中移除,这样即使 shell 关闭,任务也仍然会运行。
将任务放入后台并移除:
command &
disown
#例如:
sleep 60 &
disown