0


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
标签: linux 运维 服务器

本文转载自: https://blog.csdn.net/qq_36803941/article/details/138124240
版权归原作者 SmallerFL 所有, 如有侵权,请联系我们删除。

“linux:后台运行程序的几种方法”的评论:

还没有评论