P21.为什么需要父子shell

news2024/11/16 21:42:17

脚本的不同执行方式是否会开启子shell

 父Shell概念

(1)pstree查看父进程  

          如下命令安装pstree  

yum install -y psmisc

 sshd--sshd--bash--pstree 

  • 第一个sshd为操作系统自己启动的监听sshd服务的程序
  • 第二个sshd是shell连接过来启动的shell
  • 每次调用bash都会开启一个shell,因此调用pstree会启动一个新shell bash 运行完命令就销毁新shell,返回sshd的shell
[root@localhost ~]# pstree
systemd─┬─
        ├─polkitd───6*[{polkitd}]
        ├─rsyslogd───2*[{rsyslogd}]
        ├─sshd───sshd─┬─bash───pstree  #此为当前执行pstree的终端shell
        │             ├─bash───top
        │             ├─bash───sleep
        │             └─sftp-server
     

(2)通过ps -ef 查看父进程  PPID可以明显看出他的父进程是哪个

    -e 显示出PID、PPID、UID信息

    -f 列出所有进程信息

    --forest  树

[root@localhost ~]# ps -ef --forest
UID         PID   PPID  C STIME TTY          TIME CMD

root       1014      1  0 17:29 ?        00:00:00 /usr/sbin/sshd -D
root      11461   1014  0 21:01 ?        00:00:30  \_ sshd: root@pts/0,pts/1
root      11465  11461  0 21:01 pts/0    00:00:00      \_ -bash
root      98282  11465  0 22:35 pts/0    00:00:00      |   \_ ps -ef --forest
root      11478  11461  0 21:01 pts/1    00:00:00      \_ -bash
root      11544  11478  0 21:01 pts/1    00:00:05      |   \_ top
root      11480  11461  0 21:01 ?        00:00:00      \_ /usr/libexec/openssh/sftp-server
root      98263  11461  0 22:35 ?        00:00:00      \_ bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;uptim
root      98270  98263  0 22:35 ?        00:00:00          \_ sleep 1

子shell概念 

sh、bash命令 会进入一个子shell

[root@localhost ~]# bash
[root@localhost ~]# pstree
systemd─┬─
        ├─sshd───sshd─┬─bash───bash───pstree
        │         

多个子shell

多次执行sh 、bash进入子shell 。

只要是通过bash执行脚本,一定会开启一个子shell,脚本执行完毕自动退出子shell;

输入exit退出子shell

创建进程列表(创建子shell执行命令)

 

 

 为什么学习子shell

耗时操作,如果在当前shell运行会阻塞,开启子shell去异步运行。

检测是否在子shell环境中 

BASH_SUBSHELL可能为0,可能为1/2/3等。 代表在当前shell的第几层子shell 运行的命令。

子shell嵌套运行 

  

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

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

相关文章

echarts scatter地图上渲染圆点

目录 实现效果实现步骤相关文件实现效果 如上图所示,我们经常遇到一些需求,在地图上根据数据的大小,再画一些直径不一的实心圆。 首先,我们得先把地图画好,再来画这些跟数据有关联的圆形。 为了方便scatter建立坐标系,我们采用geo来自定义绘制地图,而不是使用百度地图或…

前端面试题 —— 计算机网络(二)

目录 一、POST和PUT请求的区别 二、GET方法URL长度限制的原因 三、页面有多张图片,HTTP是怎样的加载表现? 四、HTTP2的头部压缩算法是怎样的? 五、说一下HTTP 3.0 六、HTTP协议的性能怎么样? 七、数字证书是什么&#xff1f…

DC-3 靶场学习

文章目录环境配置:信息搜集:漏洞利用:获取FLAG:环境配置: 还是让DC-3的靶场和kali处于同于网段即可。 DC-3靶场还需要修改一下CD/DVD设置(如下)。 信息搜集: 首先还是要获取靶机的…

市场上有很多低代码开发平台,不懂编程的人可以用哪些?

市场上有很多低代码开发平台,不懂编程的人可以用哪些?这个问题一看就是外行问的啦,低代码平台主打的就是一个“全民开发”,而且现在很多低代码平台都发展为零代码了,不懂编程也完全可以使用! 所谓低代码开…

一三九、vim使用介绍

键盘图 模式切换 移动光标 命令说明shift 6()至本行第一个非空字符shift 4($)至本行末尾w至下一个单词、标点开头W至下一个单词开头b至上一个单词、标点开头B至上一个单词开头ctrl b上翻一页ctrl f下翻一页ctrl d向下翻半页 此比较有用ctrl u向上翻半页 此比较有用gg文件开…

优思学院|DMAIC从入门到精通,轻松学会六西格玛的基本原理!

如果要用一个词汇总结六西格玛品质改进方法,那一定是DMAIC。这个简称列出了六西格玛过程改进中的步骤,提供了完成六西格玛项目的方法概述,就是:定义(Define)、测量(Measure)、分析&a…

Rust语言的基本介绍

rust缘起和目标 rust的英文是锈菌,是一种真菌,这种真菌的生命力非常顽强,其 在生命周期内可以产生多达5种孢子类型,这5种生命形态还可以相互转 化。“Rust”也有“铁锈”的意思,暗合“裸金属”之意,代表了R…

网络安全入门(黑客)学习路线-2023最新版

如何成为一名黑客,很多朋友在学习安全方面都会半路转行,作者菌就自个整理了一下知识内容和体系,肝了一个月后,整理出来最适合零基础学习的网络安全学习路线,果断收藏学习下路线。此篇博客讲的非常细,有兴趣…

Python中sys.argv[ ]与Cpp中int main(int argc char *argv[ ])的用法

Python中sys.argv[ ]与Cpp中int main(int argc char *argv[ ])的用法 文章目录Python中sys.argv[ ]与Cpp中int main(int argc char *argv[ ])的用法前言一、Python中sys.argv[]的用法二、Cpp中int main(int argc char *argv[])的用法Reference前言 最近在学习ROS,在…

前端纯函数和副作用概念,且在react上的体现详解

什么是纯函数 纯函数是这样一种函数,即相同的输入,永远会得到相同的输出的函数,而且没有任何可观察的副作用。 什么是副作用 副作用是在计算结果的过程中,系统状态的一种变化,或者与外部世界进行的可观察的交互。 个…

CAN工具 - ValueCAN - 基础介绍(续)

VSpy3(Vehicle Spy 3的简写),作为一个常用的车载总线仿真工具,在车载网络领域也是有非常大的市场,前面也简单介绍过一些简单的功能,今天就再次介绍一些。什么是VSpy3?VSpy3是美国英特佩斯公司下…

测试用例设计经典面试题——电梯,杯子,笔,桌子,洗衣机

首先说明的是,遇到这样的测试题目,首先应该反问面试官,需求是什么样的,比如是测什么样的杯子。 因为设计测试用例的规则应该是根据需求分析文档设计用例,客户需求什么,就测试什么。但是在没有需求分析文档…

如何准备pmp考试?(含备考资料)

一、复习计划的制定根据之前在培训班共同奋斗的小伙伴学习时间统计,平均每天的学习时间是在 3-4 小时左右,基本上是白天 1 小时晚上 3 小时左右,通过率基本都在 80% 左右,最好的时候能达到 90%,大概的学习安排如下&…

【科研】【ReID】科研论文怎么写?八股文写作思路

拿 Densely Semantically Aligned Person Re-Identification 这篇文章举例。 本文写作非常好,写的很有逻辑,很标准。科研论文虽然是八股文,但是能经历了百年的发展而来,有它的合理性。我把它Introduction的写作思路跟一下&#x…

buuctf13(perl脚本GET open命令漏洞redis主从复制xssssti关键字过滤绕过csrf)

目录 <1> [HITCON 2017]SSRFme(perl脚本GET open命令漏洞) <2> [网鼎杯 2020 玄武组]SSRFMe(SSRF结合redis主从复制RCE) <3> [GWCTF 2019]mypassword(xss获取保存的cookie内容) <4> [GWCTF 2019]你的名字(ssti {{和关键字绕过) (1) {{ 和 }} 过滤绕…

C++ STL:空间配置器

文章目录1、allocator 接口层1.1、接口层源码1.2、定位 new 表达式1.3、实例2、allocator 实现层2.1、一级空间配置器2.2、二级空间配置器allocatedeallocate源码流程分析3、allocator 问题背景&#xff1a;频繁使用 malloc 分配内存的造成的问题&#xff1a; 系统调用&#x…

js红宝书学习笔记(1-6章)

就按照原书中写的章节顺序记笔记了&#xff0c; 还有可能我学过js一段时间了&#xff0c;可能有些对于新手的细节会忽略&#xff0c;但是会尽量写全的~ 1.第一章 什么是JavaScript 1.1讲了一些历史&#xff0c;所以我们从1.2开始看 1.2 JavaScript的实现 完整的JaveScript包…

JVM内存溢出与内存泄露

1. 什么是内存溢出? 当前创建的对象的大小大于可用的内存容量大小&#xff0c;发生内存溢出。2. 什么是内存泄露? 该回收的垃圾对象没有被回收&#xff0c;发生了内存泄露&#xff0c;垃圾对象越堆越多&#xff0c; 可用内存越来越少&#xff0c;若可用内存无法存放新的垃圾…

【神经网络】LSTM为什么能缓解梯度消失

1.LSTM的结构 我们先来看一下LSTM的计算公式&#xff1a; 1.遗忘门&#xff1a; 2.输入门&#xff1a; 3.细胞状态 4.输出门 2.LSTM的梯度路径 根据LSTM的计算公式&#xff0c;可以得出LSTM的cell state与、、都存在计算关系&#xff0c;而、、的计算公式又全部都与有关&#x…

【目标检测】入门基础原理学一遍就够了吧

我菜就爱学 文章目录目标检测实战1 目标检测简介1.1 目标检测分类1.2 检测的任务1.3 目标定位实现的思路1.4 两种bbox名称解释2 R-CNN2.1 目标检测-Overfeat模型2.2 目标检测-R-CNN模型2.2.1 候选区域&#xff08;ROI&#xff09;2.2.2 CNN网络提取特征2.2.3 特征向量训练分类器…