Linux学习-子shell

正在学习Linux,记录一下学习历程。参考《Unix&Linux大学教程》(幽默感+事无巨细),进行了精简摘要和总结。奋斗

进程

简要了解一下进程

进程:加载到内存中并且准备运行的程序,以及程序的数据和跟踪程序所需信息。

当进程需要启动另一个进程时,这个进程就创建一个副本进程。

父进程:原始的进程。

子进程:副本进程。

子进程开始运行后,父进程等待子进程死亡(也就是结束)。

一旦子进程死亡,父进程就会被唤醒,重新获得控制权并再次开始运行,此时子进程消失。


shell运行命令

输入命令时,shell解析命令,判断这条命令时内部命令(shell中内置的命令)还是外部命令(单独的程序)。

若是内部命令,shell就会在自己的进程中直接解释命令(不需要创建新的进程)。

若是外部命令,shell查找合适的程序,然后以一个新进程运行这个程序。当该程序终止时,shell重新获得控制权,并等待输入令一条命令。其中,shell是父进程,shell运行的程序是子进程。


启动新shell

原始shell(父进程)启动一个新shell(子进程)。

子shell:新shell

现在输入的所有命令都由子shell解释,结束子shell后,父shell重新获得控制权。

创建子shell时,它会继承父shell的环境。但是子shell对环境的任何改变都不会传递回父shell。

也就是说,在子shell中,可以按照自己的意愿做任何事情,而不影响父shell。

启用新shell方式:

1.直接启用,输入bash,csh等。

2.间接启用,将一组命令括在圆括号中,如(date)。不用关心新shell的启动和终止,这些会自动完成。


猜你喜欢

转载自blog.csdn.net/qq_31730735/article/details/80446461
今日推荐