linux:后台运行程序的几种方法


在 Linux 中,可以使用几种方法将程序在后台运行。

1. 使用 & 符号

在命令行中,在要运行的命令末尾添加 & 符号,可以将该命令放到后台运行。

示例:

./my_program &

2. 使用 nohup 命令

nohup 命令可以使程序忽略 SIGHUP 信号,从而使其在后台持续运行,即使终端关闭。通常与 & 符号一起使用。

示例:

nohup ./my_program &

3. 使用 disown 命令

在 Linux 中,disown 是一个 shell 命令,用于从当前 shell 中移除作业(job),使其不再与该 shell 关联,从而使得作业在后台继续运行,即使关闭了启动它的终端。

disown 命令通常与 & 符号一起使用,用于将命令放置到后台运行,并将其从当前 shell 的作业列表中移除。

用法示例:
(1) 将命令放置到后台运行并使用 disown

command &
disown

这将 command 放置到后台运行,并使用 disown 命令将其从当前 shell 的作业列表中移除。这样,即使关闭了启动 command 的终端,command 仍将在后台继续运行。

(2)查看当前 shell 的作业列表

你可以使用 jobs 命令来查看当前 shell 的作业列表,以确定哪些作业在后台运行。

jobs

disown 命令对于在后台运行长时间的任务或者需要长时间运行的任务非常有用。但需要注意的是,使用 disown 命令后,将无法使用 fg 命令将作业带回前台。

4. 使用 screen

screen 是一个终端多路复用器,它允许你在单个终端窗口中运行多个终端会话,并且可以在终端关闭后继续运行这些会话。使用 screen,你可以在一个终端中创建多个虚拟窗口,并在每个窗口中运行不同的程序或命令。

通过使用 screen,你可以将程序放在一个会话中,并在终端关闭后仍然让程序在后台运行。

示例(使用 screen):

screen -S my_session_name

运行完自己的命令之后,按下 Ctrl+a+d 退出 screen,但保持程序在后台运行

下面是一些常见的 screen 用法:

(1)启动 screen
在终端中直接运行 screen 命令来启动一个新的 screen 会话:

screen

这将启动一个新的 screen 会话,并在其中打开一个终端窗口。

(2)创建具有名称的会话
你可以使用 -S 参数为会话指定一个名称:

screen -S session_name

这将创建一个具有指定名称的新会话。

(3)分离 screen 会话

想要临时离开 screen 会话但保持会话的运行状态,你可以按下 Ctrl+a,然后按下 d,这将会话分离并返回到原始终端。

(4)重新连接 screen 会话
当你想要重新连接到之前分离的 screen 会话时,可以运行以下命令:

screen -r

如果有多个 screen 会话,你可以在 screen -r 后面指定要重新连接的会话名称。

(5)列出 screen 会话
你可以使用以下命令列出当前运行的 screen 会话:

screen -ls

这将显示所有 screen 会话的列表,以及它们的状态和会话 ID。

(6)结束 screen 会话
要结束一个 screen 会话,你可以首先连接到该会话,然后在会话中运行 exit 命令,或者使用以下命令来杀死该会话:

screen -X -S session_name quit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SmallerFL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值