终端与控制台

4474 未经授权,禁止转载了解课程
课程介绍
讨论{{interaction.discussNum ? '(' + interaction.discussNum + ')' : ''}}
适合人群
在Linux环境下从事软件开发、嵌入式开发的工程师、学生
你将会学到
通过编程学习进程的创建、控制、退出;打通进程与终端的关系;了解Linux系统运行之下的各种进程关系
课程简介

本课程是《嵌入式工程师自我修养》自学教程六步走中的第3步:Linux系统编程第04期


进程,是Linux系统中任务调度运行的基本单元:一个程序的运行,都要被操作系统包装成“进程”,统一管理,调度运行。

本期课程首先将会带领大家了解什么是进程,通过编程,学习使用fork/exec/wait/exit等函数去创建一个进程、管理控制一个进程的运行、终止一个进程。接下来,会带领大家打通进程与终端之间的关系。为什么一个进程可以读取用户的键盘输入、可以将运行结果打印到我们面前?为什么我们使用SSH登录服务器时,也可以运行程序?而且程序的结果可以通过SSH客户端打印到我们面前?为什么守护进程不可以?我们在Ubuntu上打开一个shell终端,为什么看不到系统的一些log信息,当我们reboot时为什么系统的log信息会显示在黑乎乎地背景下显示(虚拟终端)?通过进程与终端的学习,都可以很快找到答案。课程的最后,会给大家介绍Linux系统在运行过程中的各种进程:前台进程、后台进程、守护进程、僵尸进程、孤儿进程等,最后可以通过pstree查看Linux的整个进程树,以及它们之间的父子关系、协作关系等。

 

-------------------------------------------------------------------

嵌入式工程师自我修养》自学系列教程

                作者:王利涛

-------------------------------------------------------------------

一线嵌入式工程师精心打造,嵌入式学习路线六步走: 


第 1 步:Linux三剑客(更新完毕)

  • 零基础玩转Linux+Ubuntu

  • Git零基础实战:Linux开发技能标配

  • vim基础与提升基础篇:零基础学习vim基本命令

  • vim基础与提升定制篇:使用插件打造嵌入式开发IDE

  • makefile工程实践基础篇:从零开始一步一步写项目的Makefile

  • makefile工程实践第2季:使用Autotools自动生成Makefile

  • 软件调试基础理论

  • printf打印技巧

  • Linux内核日志与打印

  • 使用QEMU搭建u-boot+Linux+NFS嵌入式开发环境


第 2 步:C语言嵌入式Linux高级编程(更新完毕)

  • 第1期:C语言进阶学习路线指南

  • 第2期:计算机架构与ARM汇编程序设计

  • 第3期:程序的编译、链接和运行原理

  • 第4期:堆栈内存管理

  • 第6期:数据存储与指针

  • 第7期:嵌入式数据结构与Linux内核的OOP思想

  • 第8期:C语言的模块化编程

  • 第9期:CPU和操作系统入门


      搞内核驱动开发、光会C语言是不行的!

      你还需要学习的有很多,包括:计算机体系架构、ARM汇编、程序的编译链接运行原理、CPU和操作系统原理、堆栈内存管理、指针、linux内核中的面向对象思想、嵌入式系统架构、C语言的模块化编程.....


第 3 步:Linux系统编程(更新中...)

  • 第00期:Linux系统编程入门

  • 第01期:揭开文件系统的神秘面纱

  • 第02期:文件I/O编程实战

  • 第03期:I/O缓存与内存映射

  • 第04期:打通进程与终端的任督二脉


第 4 步:Linux内核编程

    练乾坤大挪移,会不会九阳神功,是一道坎。搞驱动内核开发,懂不懂内核也是一道坎。

第 5 步:嵌入式驱动开发

    芯片原理、datasheet、硬件电路、调试手段、总线协议、内核机制、框架流程....

第 6 步:项目实战

    嵌入式、嵌入式人工智能、物联网、智能家居...

展开更多
发布
头像

{{ item.user.nick_name }} {{ EROLE_NAME[item.user.identity] }}

置顶笔记
讨论图
{{ item.create_time }}回复
  • 删除

    是否确认删除?

    确认
    取消
  • {{ item.is_top == 1 ? '取消置顶' : '置顶'}}

    已有置顶的讨论,是否替换已有的置顶?

    确认
    取消
{{ tag.text}}
头像
{{ subitem.user.nick_name }}{{ EROLE_NAME[subitem.user.identity] }}
{{ subitem.create_time }}回复
删除

是否确认删除?

确认
取消
发布
{{pageType === 'video' ? '讨论区抢占沙发,可获得双倍学分' :'讨论区空空如也,你来讲两句~'}}
发布
{{tips.text}}
{{ noteHeaderTitle }} 笔记{{ hasMyNote ? '我的笔记' : '记笔记' }}
{{ hasMyNote ? '我的笔记' : '记笔记' }}
优质笔记
更新于:{{ $dayjs.formate('YYYY-MM-DD HH:mm:ss', item.last_uptime*1000) }}
头像
{{ detail.username }}

公开笔记对他人可见,有机会被管理员评为“优质笔记”

{{ noteEditor.content.length }}/2000

公开笔记
保存
提问

讲师收到你的提问会尽快为你解答。若选择公开提问,可以获得更多学员的帮助。

记录时间点
记录提问时视频播放的时间点,便于后续查看
公开提问
提交