如何在后台运行 Linux 命令

原创
ithorizon 7个月前 (10-13) 阅读数 25 #Linux

怎样在后台运行 Linux 命令

在 Linux 系统中,后台运行命令是一种常见的操作,尤其是在需要执行长时间运行的任务或者不期望命令立即阻塞当前会话时。以下是一些在 Linux 后台运行命令的方法。

### 1. 使用 `&` 符号

最简洁的方法是在命令后面加上 `&` 符号。这样做会将命令放入后台执行,并且命令的进程ID(PID)会显示在终端上。

bash

command &

例如,要后台运行 `sleep` 命令,可以使用以下命令:

bash

sleep 1000 &

### 2. 使用 `nohup` 命令

`nohup` 命令允许你运行命令而不受 hangup 信号的影响,并且即使终端关闭,命令也会继续运行。

bash

nohup command &

例如,以下命令将 `sleep` 命令在后台运行,并且即使终端关闭,它也会继续运行:

bash

nohup sleep 1000 &

### 3. 使用 `disown` 命令

如果你已经使用 `&` 符号将命令放入后台,并且想要将它从当前会话中移除,可以使用 `disown` 命令。

bash

disown [PID]

例如,如果你想要将上面 `sleep` 命令的进程从当前会话中移除,可以使用以下命令:

bash

disown %1

其中 `%1` 是后台进程的进程号。

### 4. 使用 `screen` 或 `tmux` 会话

`screen` 和 `tmux` 是两款强势的终端模拟器,它们允许你创建多个会话,每个会话都可以自主于其他会话运行。

#### 使用 `screen`

首先,你需要安装 `screen`(如果还没有安装的话):

bash

sudo apt-get install screen

然后,创建一个新的 `screen` 会话:

bash

screen

在新的 `screen` 会话中运行你的命令:

bash

command

要退出 `screen` 会话,但让命令继续在后台运行,可以使用以下命令:

bash

Ctrl+A D

要在任何时候重新连接到 `screen` 会话,使用以下命令:

bash

screen -r

#### 使用 `tmux`

安装 `tmux`:

bash

sudo apt-get install tmux

启动一个新的 `tmux` 会话:

bash

tmux

在 `tmux` 会话中运行你的命令:

bash

command

退出 `tmux` 会话但不关闭会话:

bash

Ctrl+B D

重新连接到 `tmux` 会话:

bash

tmux attach

### 5. 使用 `at` 或 `anacron` 命令

如果你想要在未来的某个时间点运行命令,可以使用 `at` 或 `anacron`。

#### 使用 `at`

安装 `at`:

bash

sudo apt-get install at

使用 `at` 命令安排命令在未来的某个时间点运行:

bash

at [时间]

例如,以下命令将在 10 分钟后运行 `sleep` 命令:

bash

at now + 10 minutes

echo sleep 1000 | at now + 10 minutes

#### 使用 `anacron`

`anacron` 是一个用于定期运行任务的工具,它可以处理系统的启动和关机。使用 `anacron` 可以确保即使系统关闭,任务也会在预定的时间运行。

编辑 `/etc/anacron.d/` 目录下的文件来添加新的任务。

例如,以下配置将每天运行 `sleep` 命令:

bash

D daily . /usr/local/bin/sleep 1000

### 总结

在 Linux 系统中,有多种方法可以将命令在后台运行。选择哪种方法取决于你的具体需求和热衷于。无论你是想要长时间运行的任务,还是需要在不阻塞当前会话的情况下执行命令,这些方法都能帮助你轻松实现。

本文由IT视界版权所有,禁止未经同意的情况下转发

文章标签: Linux


热门