subprocess子进程创建过程详解

引子

有一个需求:代码运行环境为python 3.7,用python获取系统所有别名信息。

首先想到的,就是使用subprocess模块创建子进程,执行alias命令并获取返回值。于是出现了这样一段代码:命令
毫不犹豫敲下回车键执行,结果呈现的是:
在这里插入图片描述
这是什么情况?为什么会报FileNotFoundError?问题出在哪儿?

shell内建命令和外部命令

先介绍一个概念,linux的内建命令和外部命令。

内建命令实际上是shell程序的一部分,其中包含的是一些比较简单的linux系统命令,这些命令写在bash源码里面,由shell程序识别并在shell程序内部完成运行,通常在linux系统加载运行时shell就被加载并驻留在系统内存中。

外部命令是linux系统中的实用程序部分,通常外部命令的实体并不包含在shell中,而是存放在文件中。因此,在系统加载时并不随系统一起被加载到内存中,只有在需要时才将其调用内存,由shell通过环境变量PATH,管理其执行的路径查找、加载存放,并控制其执行。

在上述例子中,调用shu

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值