Android C++系列:Linux进程间关系

1. 终端

在UNIX系统中,用户通过终端登录系统后得到一个Shell进程,这个终端成为Shell进 程的控制终端(Controlling Terminal),在前面文章我们说过,控制终端是保存在PCB中的信 息,而我们知道fork会复制PCB中的信息,因此由Shell进程启动的其它进程的控制终端也是 这个终端。默认情况下(没有重定向),每个进程的标准输入、标准输出和标准错误输出都 指向控制终端,进程从标准输入读也就是读用户的键盘输入,进程往标准输出或标准错误输 出写也就是输出到显示器上。在前面信号文章中还提过,在控制终端输入一些特殊的控制键可以给前台 进程发信号,例如Ctrl-C表示SIGINT,Ctrl-\表示SIGQUIT。

init-->fork-->exec-->getty-->用户输入账号-->login-->输入密码-->exec-->shell

文件与I/O文章中提过,每个进程都可以通过一个特殊的设备文件/dev/tty访问它的控制终 端。事实上每个终端设备都对应一个不同的设备文件,/dev/tty提供了一个通用的接口,一 个进程要访问它的控制终端既可以通过/dev/tty也可以通过该终端设备所对应的设备文件来 访问。ttyname函数可以由文件描述符查出对应的文件名,该文件描述符必须指向一个终端 设备而不能是任意文件。下面我们通过实验看一下各种不同的终端所对应的设备文件名。

#include <unistd.h> 
#include <stdio.h>
int main() {printf("fd 0: %s\n", ttyname(0)); printf("fd 1: %s\n", ttyname(1)); 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/44110.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenCV进行视频分析(光流、目标跟踪)----20240710

一、OpenCV进行光流分析 # 光流分析蚂蚁轨迹 import numpy as np import cv2if __name__ == __main__:cap = cv2.VideoCapture(./pictures/ant.mp4)# ShiTomasi 角点检测参数feature_params = dict(maxCorners=100

基于Java中的SSM框架实现水稻朔源信息系统项目【项目源码】

基于Java中的SSM框架实现水稻朔源信息系统演示 SSM框架 SSM框架是基于Spring、SpringMVC以及Mybatis实现的针对JAVA WEB端应用的开发框架&#xff0c;通过SSM框架结构可以实现以上三种框架的优点集合&#xff0c;从而实现更加高效便捷的系统开发和呈现。该框架结构通过Spring框…

PolarisMesh源码系列——服务如何注册

前话 PolarisMesh&#xff08;北极星&#xff09;是腾讯开源的服务治理平台&#xff0c;致力于解决分布式和微服务架构中的服务管理、流量管理、配置管理、故障容错和可观测性问题&#xff0c;针对不同的技术栈和环境提供服务治理的标准方案和最佳实践。 PolarisMesh 官网&am…

main.cpp程序执行流程图

当然&#xff0c;我会为你绘制一个程序执行流程图&#xff0c;并用中文注释来解释 main.cpp 的代码逻辑思想和执行流程。 程序执行流程图 开始|V 初始化|V 打开摄像头 (VideoCapture cap(0))|V 进入主循环 (while (true))|V 捕获图像 (cap >> srcImage)|V 图像是否为空…

280个地级市金融集聚水平数据(2006-2022年)

2006年-2022年280个地级市金融集聚水平数据整理资源-CSDN文库 金融集聚水平&#xff1a;衡量地级市金融发展的新维度 金融集聚水平是衡量一个地区金融发展程度的重要指标&#xff0c;它反映了金融机构、金融资源、金融服务在特定时间和空间的集中程度。这一指标的评估可以从多…

根据H在有限域GF(2^m)上求解生成矩阵G

原理 有时间再补充。 注1&#xff1a;使用高斯消去法。如果Py不为单位阵&#xff0c;则说明进行了列置换&#xff0c;此时G不是系统形式。 注2&#xff1a;校验矩阵H必须是行满秩才存在对应的生成矩阵G&#xff0c;且生成矩阵G通常不唯一。 matlab实现&#xff1a;只做列置…

视语坤川大模型智能体平台亮相2024世界人工智能大会

7月4日-7月7日&#xff0c;以“以共商促共享以善治促善智”为主题的2024世界人工智能大会&#xff08;WAIC 2024&#xff09;在上海举办&#xff0c;世界顶级专家学者、知名企业代表、政界人士、高校组织等齐聚上海&#xff0c;共商发展、共话未来。 作为大会的重磅环节——昇…

Python面试题:编写一个 Python 脚本来读取 Excel 文件

要在 Python 中读取 Excel 文件&#xff0c;可以使用 pandas 库&#xff0c;这个库提供了强大的数据处理和分析功能&#xff0c;并且支持读取 Excel 文件。你还需要 openpyxl 库来支持读取 .xlsx 格式的 Excel 文件。以下是如何编写一个脚本来读取 Excel 文件的示例&#xff1a…

git 的cherry-pick选择性提交

git cherry-pick 是 Git 中的一个非常有用的命令&#xff0c;它允许你将一个或多个特定的提交&#xff08;commit&#xff09;从一个分支应用到另一个分支上&#xff0c;而不是合并整个分支。 单个提交的 cherry-pick 假设你有一个 feature 分支&#xff0c;其中有一个提交&a…

【笔记】Android V 应用SDK升级适配和问题

说明 随着Google释放的Android版本,系统升级SDK到35,应用也需要升级上去,不然会报错。 Android Studio Jellyfish | 2023.3.1 | Android Developers Android Studio 预览版中的新功能 | Android Developers 当前版本的Android Studio

Elasticsearch:深度学习与机器学习:了解差异

作者&#xff1a;来自 Elastic Elastic Platform Team 近年来&#xff0c;两项突破性技术一直站在创新的最前沿 —— 机器学习 (machine learning - ML) 和深度学习 (deep learning - DL)。人工智能 (AI) 的这些子集远不止是流行语。它们是推动医疗保健、金融等各行业进步的关键…

Java面试八股之MySQL索引B+树、全文索引、哈希索引

MySQL索引B树、全文索引、哈希索引 注意&#xff1a;B树中B不是代表二叉树&#xff08;binary&#xff09;&#xff0c;而是代表平衡&#xff08;balance&#xff09;&#xff0c;因为B树是从最早的平衡二叉树演化而来&#xff0c;但是B树不是一个二叉树。 B树的高度一般在2~…

es是如何处理索引数据的变动的?

1 概述 es是如何处理索引数据的变动的&#xff1f; 或者说索引数据变动时&#xff0c;es会执行哪些操作&#xff1f; refresh、fsync、merge 和 flush 操作有何作用&#xff1f; es是如何确保即使es发生宕机数据也不丢失的&#xff1f; 在回答上述问题前&#xff0c;可以先…

文件操作和IO流

前言&#x1f440;~ 上一章我们介绍了多线程进阶的相关内容&#xff0c;今天来介绍使用java代码对文件的一些操作 文件&#xff08;file&#xff09; 文件路径&#xff08;Path&#xff09; 文件类型 文件操作 文件系统操作&#xff08;File类&#xff09; 文件内容的读…

leetcode--恢复二叉搜索树

leetcode地址&#xff1a;恢复二叉搜索树 给你二叉搜索树的根节点 root &#xff0c;该树中的 恰好 两个节点的值被错误地交换。请在不改变其结构的情况下&#xff0c;恢复这棵树 。 示例 1&#xff1a; 输入&#xff1a;root [1,3,null,null,2] 输出&#xff1a;[3,1,null…

AirPods Pro新功能前瞻:iOS 18的五大创新亮点

随着科技的不断进步&#xff0c;苹果公司一直在探索如何通过创新提升用户体验。iOS 18的推出&#xff0c;不仅仅是iPhone的一次系统更新&#xff0c;更是苹果生态链中重要一环——AirPods Pro的一次重大升级。 据悉&#xff0c;iOS 18将为AirPods Pro带来五项新功能&#xff0…

设计模式探索:观察者模式

1. 观察者模式 1.1 什么是观察者模式 观察者模式用于建立一种对象与对象之间的依赖关系&#xff0c;当一个对象发生改变时将自动通知其他对象&#xff0c;其他对象会相应地作出反应。 在观察者模式中有如下角色&#xff1a; Subject&#xff08;抽象主题/被观察者&#xf…

【大模型】大规模部署LLM:挑战与对策

大规模部署LLM&#xff1a;挑战与对策 引言一、计算资源的挑战1.1 计算成本1.2 能源消耗与碳足迹 二、维护与更新的挑战2.1 模型更新与版本控制2.2 知识时效性 三、数据隐私与伦理考量3.1 数据隐私保护3.2 伦理与偏见 四、可扩展性与灵活性4.1 系统架构设计4.2 多语言与地域适应…

详细分析@FunctionalInterface的基本知识(附Demo)

目录 前言1. 基本知识2. Demo 前言 Java的基本知识推荐阅读&#xff1a; java框架 零基础从入门到精通的学习路线 附开源项目面经等&#xff08;超全&#xff09;Spring框架从入门到学精&#xff08;全&#xff09; 1. 基本知识 FunctionalInterface 是 Java 8 引入的一个注…

外卖商城平台小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;商家管理&#xff0c;骑手管理&#xff0c;商品类型管理&#xff0c;商品信息管理&#xff0c;订单信息管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;商品信息&#…