理解的shell父子关系
龑皇 人气:0今天我们谈谈linux系统的shell的父子关系,因为大家对手机都比较熟悉,手机本身也是一个linux主机,所以我们今天就拿手机来举个例子。
首先就是创建一个新的shell,你可以把它理解成一个手机打开了一个软件,但是在linux打开一个“软件”没有那么容易,这就需要用到两种方法。
方法一:在CLI提示符用/bin/bash或bash创建一个shell。
图1-1
可以看到第一个bash的进程号为2022927;第二个bash的进程号为为2023167;这样说也不是特别明显,我们用ps -forest命令看看
图1-2
从图1-2中可以直观的看到第二个bash是第一个bash的一个子进程;可以与图1-1的进程做一下对比
方法二:在CLI提示符后用(命令;命令;命令;)创建一个shell。
图1-3
从图1-3我们可以看到返回了一个1,则证明我们的子shell是成功的。推出shell也是非常容易的输入命令exit就可以了。
当Linux运行着一个shell是你也可以说:“运行着一个进程",所以”进程“=”shell“。
shell的用法:
一:后台
图1-4
图1-4我们在子shell下运行了一个sleep并将其放入了后台,他得进程号为2026627我们现在退出此进程如图1-5。
图1-5
二:协程
由一个或多个语句块组成。它负责完成某项特定任务,而且相较于其他代码,具备相对的独立性。我可以将子例程理解为一个函数。
例如图1-6,用coproc创建了一个协程zz,jobs可以查看后台作业。
加载全部内容