Linux配置程序后台运行(前后台来回切换)

Linux配置程序后台运行

在日常开发过程中,会遇到我们在前台运行程序,此时我们临时有事,但不能关闭终端,否则程序就会在电脑熄屏(终端session断开后)停止运行。

  • 那么作为一个合格的开发,就必须要知道如何让程序在后台运行,以及如何将后台运行的程序拉回前台。
  • 配置后台运行:
    方法一:nohup xxx &
    方法二:ctrl+z配合bg(background)
    方法三:screen
  • 后台程序拉回前台:
    1. jobs:查看jobID
    2. fg:fg %1,将jobID为1的作业拉回前台

1 配置程序后台运行

①nohup xxxx &

如果我们程序还没有运行,可以通过这种方式直接让程序在后台运行。

# outlog.txt 表示将终端输出保存到txt中
# 2>&1 表示将错误输出2定向到标注输出1中一起输出
# & 后台挂起
#0 表示stdin标准输入,用户键盘输入的内容
#1 表示stdout标准输出,输出到显示屏的内容
#2 表示stderr标准错误,报错内容
#2>&1是一个整体,>左右不能有空格,即将错误内容重定向输入到标准输出中去。
nohup ./test.sh > outlog.txt 2>&1 &#如果不指定输出文件,默认会输出到nohup.out中
nohup ./test.sh &# 查看是否后台运行成功,是否为running
jobs

在这里插入图片描述

②ctrl+Z加bg 作业编号

jobs查看作业,方框中为作业编号

如果我们已经在前台运行了程序,那么可以通过这种方式,将程序调整为后台运行。

  1. 使用Ctrl+z将正在前台运行的命令暂停这时命令以暂停的状态被扔到了后台
  2. jobs:查看后台作业情况
  3. bg %作业编号,例:bg %1

在这里插入图片描述

③screen

1 安装及基本操作
# 1 安装
# sudo apt-get install screen # ubuntu
sudo yum install screen #centos
# 查看是否安装成功
screen -v# 2 使用
# 新建了一个叫testbg的窗口并进入
screen -S testbg
# 退出当前窗口,回到主窗口,窗口会出现[detached]提示
Ctrl a +d# 恢复窗口
screen -ls #列出窗口列表screen -r 2637 #进入2637线程,恢复count会话窗口# 杀死窗口,再用screen -ls 可以看到该窗口后面的(???dead)字样
#说明窗口死了,但是仍在占用空间。这时需要清除窗口
kill -9 窗口ID 
# 清理死去的窗口
screen -wipe
2 配置后台运行
  1. 新建窗口
# 新建一个名为testbg的窗口
screen -R testbg

在这里插入图片描述
在这里插入图片描述

  1. 运行程序
    在这里插入图片描述

  2. ctrl+A ,然后再按下d,此时脱离窗口,来到外部窗口。开始的程序就在后台窗口运行,不会因为当前窗口退出而退出。
    在这里插入图片描述
    在这里插入图片描述

  3. 如果想进入之前窗口,可通过screen -r ID重新进入

# 查看窗口列表
screen -ls
# 重新进入窗口
screen -r 窗口ID

在这里插入图片描述
之前的程序正常运行:在这里插入图片描述

2 将后台运行程序拉回前台

fg %作业编号

jobs查看作业,方框中为作业编号

# 将任务调回前台运行 fg+ %jobID
fg %23

在这里插入图片描述

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

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

相关文章

LeetCode刷题记(三):61~90题

61. 旋转链表 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。 示例 1: 输入:head [1,2,3,4,5], k 2 输出:[4,5,1,2,3]示例 2: 输入:head [0,1,2], k 4 输出&…

今天掏心窝子!聊聊35岁了程序员何去何从?

今天的内容不聊技术,聊聊轻松的话题,脑子高速转了好几周,停下来思考一下人生…… 不对,关于35岁的问题好像也不轻松,些许有点沉重,反正不是技术,不用高速转动脑细胞了,哈哈。 兄弟…

未来已来,一键解锁AI秘境:全能型人工智能技术网站大揭秘(一键收藏)

1、KKAI(kk.zlrxjh.t op) KKAI是一个融合了星火大模型和文心大模型技术的知识增强型大语言模型,主要针对自然语言处理(NLP)的技术开发与研究。 该模型展现出卓越的语义理解与生成功能,能有效处理多样的自然…

【数据挖掘】实验6:初级绘图

实验6:初级绘图 一:实验目的与要求 1:了解R语言中各种图形元素的添加方法,并能够灵活应用这些元素。 2:了解R语言中的各种图形函数,掌握常见图形的绘制方法。 二:实验内容 【直方图】 Eg.1&…

一分钟学会旋转一个矩阵

😎 作者介绍:我是程序员行者孙,一个热爱分享技术的制能工人。计算机本硕,人工制能研究生。公众号:AI Sun,视频号:AI-行者Sun 🎈 本文专栏:本文收录于《深入浅出算法》系列…

05.MySQL索引事务

1. 索引 1.1 概念 索引是一种特殊的文件,包含着对数据表里所有记录的引用指针。 可以对表中的一列或多列创建索引,并指定索引的类型,各类索引有各自的数据结构实现 1.2 作用 数据库中的表、数据、索引之间的关系,类似于书架上的…

解锁生成式 AI 的力量:a16z 提供的 16 个企业指南

企业构建和采购生成式AI方面的16项改变 生成式 AI 领域趋势洞察:企业构建和采购生成式 AI 的方式正在发生重大转变,具体表现在:* 专注于可信度和安全性:75% 的企业将信任和安全性视为关键因素。* 优先考虑可扩展性和灵活性&#x…

CCF区块链论文录用资讯--ICDE 2024

ICDE是CCF A类会议 (数据库/数据挖掘/内容检索) 其2024录用了8篇区块链论文 Database technology for Blockchains I Efficient Partial Order Based Transaction Processing for Permissioned Blockchains (针对许可区块链的高效的基于偏序…

liunx环境变量学习总结

环境变量 在操作系统中,环境变量是一种特殊的变量,它们为运行的进程提供全局配置信息和系统环境设定。本文将介绍如何自定义、删除环境变量,特别是对重要环境变量PATH的管理和定制,以及与环境变量相关的函数使用。 自定义环境变…

解锁智能未来:用Ollama开启你的本地AI之旅

Ollama是一个用于在本地运行大型语言模型(LLM)的开源框架。它旨在简化在Docker容器中部署LLM的过程,使得管理和运行这些模型变得更加容易。Ollama提供了类似OpenAI的API接口和聊天界面,可以非常方便地部署最新版本的GPT模型并通过…

SMS垃圾短信识别项目

注意:本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 ([www.aideeplearning.cn]) 项目背景 随着数字通信的快速发展,垃圾短信成为了一个普遍而烦人的问题。这些不请自来的消息不仅打扰了我们的日常生活,…

一文了解LangChain的记忆模块(理论实战+细节)

大多数LLM应用程序都有一个会话接口。会话的一个重要组成部分是能够参考会话早期的信息(上文信息)。这种存储过去互动信息的能力就称为“记忆(Memory)”。LangChain提供了许多用于向系统添加Memory的封装。 目前 LangChain 中大多…