添加进程的相关内容
Some checks failed
Build and Publish / Run (push) Failing after 6s

This commit is contained in:
hmtsai 2025-01-15 00:20:22 +00:00
parent d03f30352e
commit d59f25f9c0

View File

@ -156,6 +156,33 @@ Shell 中有一些系统变量,它们在 Shell 启动时自动设置,例如
- `$0`:启动当前终端程序或者 ShellScript 的命令,如 `/bin/bash`
- `$#`:启动当前终端程序或者 ShellScript 的参数个数。
## 进程
在学习上一章节的时候,你是否会疑惑:为什么执行一个新的 Shell 就可以在一个不影响原本 Shell 的环境中工作呢?
实际上我们在执行一个命令的时候Shell 会为这个程序开启一个新进程。那什么叫做进程呢?你可以把它理解为你给计算机派发的一个任务。你只需要派发任务就好了,而计算机要考虑的事情就多了。(划掉)计算机负责执行这个进程,操作系统给它分配系统资源。
我们每个人都有自己的父母,进程也是一样。例如,进程 A 启动了进程 B那么进程 A 就是进程 B 的父进程(也可以称之为母进程)。
一般情况下,进程的环境变量只能向下传递。也就是当父进程启动了一个子进程的时候,子进程会继承父进程的环境变量。但是这时集成的只是父进程在创建子进程时环境变量的一个快照,以后父进程中环境变量更新的时候不会影响子进程。
我们可以通过实例来了解一下这个问题。
```sh
$ export TEST=114514
$ echo $TEST
114514
$ bash # 启动一个新的 Shell 进程
$ echo $TEST
114514 # 从父进程那里继承了环境变量
$ export TEST=1919810 # 尝试修改变量
$ echo $TEST
1919810
$ exit # 回到父进程
$ echo $TEST
114514 # 父进程的环境变量没有被改变
```
## 管道
Shell 中的管道是链接两个命令的方式,管道遵守下面的格式。