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

文章目录

  • 1. 使用 & 符号
  • 2. 使用 nohup 命令
  • 3. 使用 disown 命令
  • 4. 使用 screen


在 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/2706.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

zookeeper安装原生开发 C API接口时报错

报出的错误:error: %d directive writing between 1 and 5 bytes into a region of size be 问题原因 %d 格式说明符用于格式化有符号十进制整数。它需要一个与要格式化的整数大小相匹配的缓冲区。如果缓冲区太小,则会导致缓冲区溢出,从而可…

码头船只出行及配套货柜码放管理系统-毕设

毕业设计说明书 码头船只出行及配套货柜码放 管理系统 码头船只出行及配套货柜码放管理系统 摘要 伴随着全球化的发展,码头的物流和客运增多,码头业务迎来新的高峰。然而码头业务的增加,导致了人员成本和工作量的增多。为了解决这一基本问题&…

设计模式- 模板方法模式(Template Method Pattern) 结构|原理|优缺点|场景|示例

设计模式(分类) 设计模式(六大原则) 创建型(5种) 工厂方法 抽象工厂模式 单例模式 建造者模式 原型模式 结构型(7种) 适配器…

spring-core:理解@AliasFor注解的作用

AliasFor是spring注解体系中一个非常重要且基础的注解。顾名思义,它的基本作用就是为注解字段定义一个别名。 基本作用:字段别名 Testpublic void test3AliasFor() {try {{CasbanScan casbanScan AnnotationUtils.findAnnotation(UserSummy.class, Cas…

Redis篇:缓存更新策略最佳实践

前景: 缓存更新是redis为了节约内存而设计出来的一个东西,主要是因为内存数据宝贵,当我们向redis插入太多数据,此时就可能会导致缓存中的数据过多,所以redis会对部分数据进行更新,或者把他叫为淘汰更合适&a…

代理池项目查询

github.com:jhao104/proxy_pool.git https://github.com/jhao104/proxy_pool/ 如果,可以用 GitHub: Let’s build from here GitHub代替 https://bgithub.xyz/ 仅限学习使用

libssh C++封装(二)

1 概述 libssh是一个在客户端和服务器端实现SSHv2协议的多平台C库。使用libssh,您可以远程执行程序、传输文件、使用安全透明的隧道、管理公钥等等。本文描述的对libssh客户端功能的C++封装。 libssh下载地址 3 实现 3.1 Session Session类型管理SSH连接会话 3.1.1 Sessio…

开放式耳机怎样选性价比高?五大性能出色爆款推荐!

在今年的耳机市场,开放式耳机如雨后春笋般涌现,为消费者提供了更多的选择。在这样一个产品繁多的市场中,如何挑选出一款音质上乘、性能卓越的开放式耳机,确实是一个值得探讨的问题。相较于长时间佩戴传统入耳式耳机可能带来的耳朵…

Jenkins 打包报错记录 error: index-pack died of signal 15

问题背景,打包每次到92%时就会报错,试了好几次都是同样的错误 14:56:53 fatal: index-pack failed 14:56:53 14:56:53 at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2734) 14:56:53 at org.jenkinsci.plugi…

【UE 材质】水波纹效果

效果 模拟雨水打落在水面上的效果 步骤 1. 下载所需纹理和纹理 纹理2. 新建一个材质,这里命名为“M_WaterRipples” 打开“M_WaterRipples”,添加一个纹理采样节点,纹理使用第一步下载的纹理 将纹理采样节点的R通道连接到基础颜色&#x…

MySQL、Oracle查看最大连接数和当前连接数

文章目录 1. MySQL2. Oracle 1. MySQL -- 查看最大连接数 show variables like max_connections; select max_connections; -- select * from performance_schema.session_variables where VARIABLE_NAME in (max_connections); -- select * from performance_schema.global…

产品推荐 | 基于Intel (Altera) Cyclone IV 打造的水星Mercury CA1核心板

01 产品概述 水星Mercury CA1核心板结合了Intel Cyclone IV FPGA、通用接口如USB 2.0和Gigabit Ethernet,具备大量的LVDS I/O、大容量DDR2 SDRAM和大量硬件乘法器,这些使得水星CA1核心板非常适合数字信号处理、网络、高速I/O以及使用Intel NiosII软处理…

某酒业集团数字化转型规划(169页附下载)

某酒业集团数字化转型项目实施方案建议书(P169).rar是一个极具参考价值的资料,它详细地阐述了如何利用数字化技术来推动企业转型。这份建议书以IBM的先进技术和某酒业集团的实际应用需求为基础,提出了一套全面、系统的数字化转型解决方案。该方案首先对某…

禅道安装(非docker 版本)(一键部署版)

1.安装包下载地址 https://www.zentao.net/dl/zentao/18.5/ZenTaoPMS.18.5.zbox_64.tar.gzLinux一键安装包内置了Apache、PHP、MySQL和XXD 服务,不需要再单独安装。 2.上传到linux服务器 scp /Users/admin/Downloads/ZenTaoPMS.18.5.zbox_64.tar.gz root192.168.…

java体育馆使用预约平台的设计与实现(springboot+mysql源码+文档)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的体育馆使用预约平台。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 体育馆使用预约平台的…

从浏览器内核到Web性能优化:揭秘底层原理与实战技巧

从浏览器内核到Web性能优化:揭秘底层原理与实战技巧 一、浏览器内核与渲染引擎 浏览器内核,也被称为渲染引擎,是浏览器的核心组件,负责解析HTML、CSS和JavaScript,并将这些源代码转换为用户在屏幕上看到的可交互网页…

Win10 打开有些软件主界面会白屏不显示,其他软件都正常

环境: Win10专业版 英伟达4070 显卡 问题描述: Win10 打开有些软件主界面会白屏不显示,打开远程协助软件AIRMdesk,白色,其他软件都正常 解决方案: 网上说电脑没有接显示器独立显卡的关系导致 我是只有一台主机,没…

【QT教程】QT6QFuture与并发

QT6QFuture与并发 使用AI技术辅助生成 QT界面美化视频课程 QT性能优化视频课程 QT原理与源码分析视频课程 QT QML C扩展开发视频课程 免费QT视频课程 您可以看免费1000个QT技术视频 免费QT视频课程 QT统计图和QT数据可视化视频免费看 免费QT视频课程 QT性能优化视频免费看 免…

Flask Web框架入门教程

一、Flask简介 Flask是一个轻量级的Web应用框架,使用Python编写。相比于Django等其他大型框架,Flask更加灵活和轻量,非常适合小型到中型的应用开发。它有一个强大的扩展库,可以方便地添加各种功能。 二、安装Flask 你可以使用p…

手撕netty源码(二)- 初始化ServerBootstrap

文章目录 前言一、ServerBootstrap 的创建和初始化1.1 创建1.2 初始化group1.3 初始化channel1.3 初始化option和attr1.4 初始化handler 和 childHandler 总结 前言 接上一篇:手撕netty源码(一)- NioEventLoopGroup 本篇讲解 ServerBootstra…