Linux系统-前台任务组,后台任务组

文章目录

  • 前台进程
  • 后台进程
  • 新命令
    • jobs
    • fg 【后台进程组序号】
    • ctrl+z组合键信号 和 bg命令
      • ctrl+z组合键信号
      • bg 【后台进程组序号】
  • session会话
        • 此时我们关闭本次的会话,我们的后台进程是否也会退出呢?
  • 总结


前台进程

在我们远程登录Linux服务器后,执行ls或者自己的可执行程序时,其实都是在前台运行的,前台运行的程序具备什么特点呢?

我们执行一个每隔一秒打印一次hello world的程序
在这里插入图片描述

当我们用键盘输入pwd,并没有为我们执行pwd命令,这是因为我们的键盘所发送的信息给了这个正在每隔一秒打印一次hello world的前台进程。

后台进程

要想将一个进程设为后台运行,很简单 只需要

./a.out &
在这里插入图片描述

这样我们所执行的文件就在后台运行了,此时我们的程序仍然在不断像显示器打印hello world,而如果你现在使用ctrl+c会发现是无法终止该后台进程的!且我们现在键盘输入ls,pwd命令可以正常执行。

现象可以总结出:

  1. 后台进程仍然可以向显示器打印消息。
  2. 键盘输入只能给前台进程,所以ctrl+c无法终止后台进程

那么我们是不是可以得出另一个结论,谁占有键盘谁就是前台进程,所以 前台进程只有一个

新命令

jobs

先来创建两个后台文件
在这里插入图片描述
当我们创建一个后台进程时,会在屏幕显示这样的信息
在这里插入图片描述
这里告诉大家,【1】的 1 是 该session会话中的后台进程组序号,至于为什么里我称为进程组等会再说。
而后面的5493则为该进程组ID。
在这里插入图片描述
可以发现我们的第一个sleep进程的进程ID 就是 它的进程组ID,说明这个第一个sleep进程是组长,且进程组ID是根据组长的进程ID保持一致。

fg 【后台进程组序号】

该命令可以根据后台进程组序号,将该进程组的全部进程移动到前台。
在这里插入图片描述
移动到前台后就可以使用ctrl+c终止该进程。当然想要终止后台进程也可以使用kill命令。

当我们使用fg命令将进程组移动到前台时,bash作为一个进程组,它也需要被移动到后台当中。

ctrl+z组合键信号 和 bg命令

ctrl+z组合键信号

在这里插入图片描述

当我们按下ctrl+z会向前台进程组发送19号SIGSTOP信号。 此时该暂停的前台进程组会被移动到后台,后台的bash移动到前台。


bg 【后台进程组序号】

如果我们要唤醒被暂停的后台进程组,则可以使用bg 【后台进程组序号】来唤醒它在后台继续运行。
在这里插入图片描述


session会话

当我们使用xshell远程登录远端的Linux云服务器时,其实就是向Linux系统申请一次会话,于是我们就有了一个会话窗口,并给我们分配一个bash。

在这里插入图片描述
这里我们就能很直观的看见,我们在该会话中所运行的进程的sessionID都是一样的,而这个sessionID正是我们的bash的PID。

此时我们关闭本次的会话,我们的后台进程是否也会退出呢?

在这里插入图片描述
在这里插入图片描述
出乎意料的是 虽然我们的会话关闭了,但是该会话的后台进程并没有被退出。
在这里插入图片描述

总结

通过上述的知识内容,我们是否可以创建一个不会受任何终端影响的进程,只要我们的云服务器不关机,这个进程就不会被终止!

这就是下一节课进程守护的内容,我们基于上节课的翻译字典服务再添加上上进程守护的功能。

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

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

相关文章

创建__init__()方法

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在创建类后,可以手动创建一个__init__()方法。该方法是一个特殊的方法,类似Java语言中的构造方法。每当创建一个类的新实例时…

【AI界的狼人杀】人工智能“反图灵测试”实验

5月28日, AI Power Users、Unity 独立开发者:Tore Knabe 在其社交平台发布了一则名为《Reverse Turing Test Experiment with AIs》的视频,立马引发了热议。 视频中共出现了五位主要角色,“他们”分别是:亚里士多德&am…

961操作系统知识总结

部分图片可能无法显示,参考这里:https://zhuanlan.zhihu.com/p/701247894 961操作系统知识总结 一 操作系统概述 1. 操作系统的基本概念 重要操作系统类型:批处理操作系统(批量处理作业,单道批处理/多道批处理系统,用…

RabbitMQ-直连交换机(direct)使用方法

RabbitMQ-默认读、写方式介绍 RabbitMQ-发布/订阅模式 目录 1、概述 2、直连交换机 3、多重绑定 4、具体代码实现 4.1 生产者部分 4.2 消费者部分 5、运行代码 6、总结 1、概述 直连交换机,可以实现类似路由的功能,消息从交换机发送到哪个队列…

夜天之书 #98 Rust 程序库生态合作的例子

近期主要时间都在适应产品市场(Product Marketing)的新角色,不少想法还在酝酿和斟酌当中,于是文章输出没有太多时间来推敲和选题,只能保持每月发布相关的进展或一些零碎的思考。或许我可以恢复最早的模式,多…

YOLOv8改进(一)-- 轻量化模型ShuffleNetV2

文章目录 1、前言2、ShuffleNetV2代码实现2.1、创建ShuffleNet类2.2、修改tasks.py2.3、创建shufflenetv2.yaml文件2.4、跑通示例 3、碰到的问题4、目标检测系列文章 1、前言 移动端设备也需要既准确又快的小模型。为了满足这些需求,一些轻量级的CNN网络如MobileNe…

十_信号4-SIGCHLD信号

SIGCHLD信号 在学习进程控制的时候,使用wait和waitpid系统调用何以回收僵尸进程,父进程可以阻塞等待,也可以非阻塞等待,采用轮询的方式不停查询子进程是否退出。 采用阻塞式等待,父进程就被阻塞了,什么都干…

力扣83. 删除排序链表中的重复元素

Problem: 83. 删除排序链表中的重复元素 文章目录 题目描述思路复杂度Code 题目描述 思路 1.定义快慢指针fast、slow均指向head; 2.每次fast后移一位,当fast和slow指向的节点值不一样时,将slow.next指向fast同时使slow指向fast; 3…

MyBatis框架-开发方式+参数传递+#{}、${}+返回值处理+查询结果封装为对象+resultType

一、开发方式 MyBatis-Dao层Mapper接口化开发 二、注意事项 1、Mapper接口与Mapper.xml映射文件要满足4个对应 (1)Mapper接口的全类名必须与Mapper映射文件中的namespace相同 (2)Mapper接口中的每一个方法名在Mapper映射文件…

回溯算法之电话号码字母组合

题目: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 1: 输入:digits "2…

Java web应用性能分析之【jvisualvm远程连接云服务器】

Java web应用性能分析之【java进程问题分析概叙】-CSDN博客 Java web应用性能分析之【java进程问题分析工具】-CSDN博客 前面整理了java进程问题分析和分析工具,现在可以详细看看jvisualvm的使用,一般java进程都是部署云服务器,或者托管IDC机…

每周统计-20240531

用于测试程序的稳定性: 龙虎榜: 成交额: 封成比: 收盘前放量: 开盘抢筹: 封单额:

论文阅读:Correcting Motion Distortion for LIDAR HD-Map Localization

目录 概要 Motivation 整体架构流程 技术细节 小结 论文地址:http://arxiv.org/pdf/2308.13694.pdf 代码地址:https://github.com/mcdermatt/VICET 概要 激光雷达的畸变矫正是一个非常重要的工作。由于扫描式激光雷达传感器需要有限的时间来创建…

linux命令:调试必备工具dmesg

在服务器上进行芯片调试时,我们会遇到各种各样的问题,很多问题与操作系统相关。此时就需要了解操作系统发生了哪些事件。 dmesg 是linux系统中用来打印或控制内核缓冲区内容的命令。这个环形缓冲区记录了系统启动以来发生的各种事件消息,包括…

ChatTTS改良版 - 高度逼真的人类情感文本生成语音工具(TTS)本地一键整合包下

先介绍下ChatTTS 和之前发布的 Fish Speech 类似,都是免费开源的文本生成语音的AI软件,但不同的是,ChatTTS测试下来,对于人类情感语调的模仿,应该是目前开源项目做的最好的,是一款高度接近人类情感、音色、…

WordPress中借助Table of Contents Plus+Widget Options插件,实现仅在文章侧边栏显示文章目录的功能

本文转自博主的个人博客:https://blog.zhumengmeng.work,欢迎大家前往查看。 原文链接:点我访问 序言:今天心血来潮,写了一篇文章,忽然发现自己的文章极少有目录,这对于长文章的阅读来说是十分不利的&#…

【自动驾驶】针对低速无人车的线控底盘技术

目录 术语定义 一般要求 操纵装置 防护等级 识别代号 技术要求 通过性要求 直线行驶稳定性 环境适应性要求 功能安全要求 信息安全要求 故障处理要求 通信接口 在线升级(OTA) 线控驱动 动力性能 驱动控制响应能力 线控制动 行车制动 制动响应能力 线控转向 总体要求 线控…

车联网安全入门——ICSim模拟器使用

文章目录 车联网安全入门——ISCim模拟器使用介绍主要特点:使用场景: 安装使用捕获can流量candumpcansnifferwiresharkSavvyCAN主要特点:使用场景: 重放can报文cansendSavvyCAN 总结 车联网安全入门——ISCim模拟器使用 &#x1…

SQL刷题笔记day8——SQL进阶——表与索引操作

目录 1 创建一张新表 2 修改表 3 删除表 4 创建索引 5 删除索引 1 创建一张新表 我的答案 create table if not exists user_info_vip (id int(11) primary key auto_increment Comment自增ID, # 有了主键就不用写not nul了 uid int(11) unique not null Comment用户ID, …

272 基于matlab的形态滤波和局域值分解(LMD)的齿轮故障诊断

基于matlab的形态滤波和局域值分解(LMD)的齿轮故障诊断,GUI交互界面。通过形态滤波对一维信号进行降噪处理,并通过LMD局部均值分解提取故障信号,最后提取处故障频率。程序已调通,可直接运行。 272 形态滤波…