IO进程day3
一、思维导图

二、作业1
使用C语言编写一个简易的界面,界面如下
1:标准输出流
2:标准错误流
3:文件流
要求:按1的时候,通过printf输出数据,按2的时候,通过perror输出数据,按3的时候将输入写入文件中 同时通过dup2函数,将标准错误流重定向到错误日志,将文件流重定向到终端。
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>int main()
{int uc = -1;while(1){printf("1:标准输出流\n");printf("2:标准错误流\n");printf("3:文件流\n");printf("请选择:");scanf("%d", &uc);while(getchar()!=10);switch (uc){case 1:printf("标准输出流输出\n");break;case 2:printf("标准错误流输出\n");perror("printf2");break;case 3:printf("文件流输出\n");int fp=open("open.txt", O_WRONLY | O_CREAT | O_TRUNC, 0666);int std_error_bp=dup(2);dup2(fp, 2); //将标准错误流[2]重定向到错误日志[3]int std_out_bp=dup(1);dup2(fp, 1); //将文件流[3]重定向到终端[1]//恢复一下默认dup2(std_error_bp, 2);dup2(std_out_bp, 1);close(fp);break;default:printf("选择有误,清重新选择\n");break;}}
}
三、作业2
使用stat函数判断一个文件是否存在 同组人可执行 权限,如果存在则去除该权限,如果不存在则追加该权限 自己想办法查询 更改文件权限的函数是什么?
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/stat.h>int main(int argc, const char *argv[])
{if(argc<2){printf("~~~有惊喜出现~~~\n");return 1;}struct stat buf = {0};stat(argv[1], &buf);mode_t bstm = buf.st_mode;if((bstm | 00010) == bstm) //S_IXGRP 00010 group has execute permission{printf("该文件存在同组人可执行权限!\n");if(chmod(argv[1], 0767) == -1){printf("chmod 删除组用户执行权限失败!\n");}else{printf("chmod 删除组用户执行权限成功!\n");}}else{printf("该文件不存在同组人可执行权限!\n");if(chmod(argv[1], 0777) == -1){printf("chmod 添加组用户执行权限失败!\n");}else{printf("chmod 添加组用户执行权限成功!\n");}}return 0;
}

相关文章:
IO进程day3
一、思维导图 二、作业1 使用C语言编写一个简易的界面,界面如下 1:标准输出流 2:标准错误流 3:文件流 要求:按1的时候,通过printf输出数据,按2的时候,通过perror输出数据,…...
【多线程初阶篇¹】线程理解| 线程和进程的区别
目录 一、认识线程Thread 1.为啥引入线程 2.线程理解 🔥 3.面试题:线程和进程的区别 一、认识线程Thread 1.为啥引入线程 为了解决进程太重量的问题 解释(为什么说线程比进程更轻量?/为什么说线程创建/销毁开销比进程小&#…...
wireshark排除私接小路由
1.wireshark打开,发现了可疑地址,合法的地址段DHCP是192.168.100.0段的,打开后查看发现可疑地址段,分别是,192.168.0.1 192.168.1.174 192.168.1.1。查找到它对应的MAC地址。 ip.src192.168.1.1 2.通过show fdb p…...
Docker 从入门到精通
文章目录 Ubuntu 安装Docker步骤前言1. 进入Docker官网,进入开发者页面2. 选择适合自己的安装方式3. 安装 Docker1.更新系统包,安装插件,创建秘钥及目录2.安装 Docker 软件包3.设置开机启动4.通过运行 hello-world 镜像验证安装是否成功 常见…...
uni app 写的 小游戏,文字拼图?文字拼写?不知道叫啥
从下方的偏旁部首中选在1--3个组成上面文章中的文字,完成的文字标红 不喜勿喷 《满江红》 其中用到了两个文件 strdata.json parameters.json 这两个文件太大 放到资源中了 资源文件 <template><view class"wenzi_page_main"><view c…...
Qt监控系统远程网络登录/请求设备列表/服务器查看实时流/回放视频/验证码请求
一、前言说明 这几个功能是近期定制的功能,也非常具有代表性,核心就是之前登录和设备信息都是在本地,存放在数据库中,数据库可以是本地或者远程的,现在需要改成通过网络API请求的方式,现在很多的服务器很强…...
案例研究:UML用例图中的结账系统
在软件工程和系统分析中,统一建模语言(UML)用例图是一种强有力的工具,用于描述系统与其用户之间的交互。本文将通过一个具体的案例研究,详细解释UML用例图的关键概念,并说明其在设计结账系统中的应用。 用…...
二叉树的层次遍历
二叉树的层次遍历 描述 给你一个二叉树,请你返回其按 层次遍历 得到的节点值(即逐层地,从做到右访问所有节点) 代码 通过两个数组来交替打印 class Solution(object):def levelOrder(self, root):if root None:return []sta…...
docker推送本地仓库报错
(base) rootainode3:~# dp 192.168.2.186:5000/bert-deepspeed:latest The push refers to repository [192.168.2.186:5000/bert-deepspeed] Get "http://192.168.2.186:5000/v2/": dial tcp 192.168.2.186:5000: connect: connection refused排查思路如下ÿ…...
Python中的asyncio:高效的异步编程模型
随着互联网应用的快速发展,程序的响应性和处理效率成为衡量系统性能的重要指标。传统的同步编程模型在面对高并发和IO密集型任务时,常常显得捉襟见肘,难以满足现代应用的需求。Python的asyncio库作为一种高效的异步编程模型,为开发…...
Oopsie【hack the box】
Oopsie 解题流程 文件上传 首先开启机器后,我们先使用 nmap -sC -SV来扫描一下IP地址: -sC:使用 Nmap 的默认脚本扫描(通常是 NSE 脚本,Nmap Scripting Engine)。这个选项会自动执行一系列常见的脚本&am…...
详细介绍 React 中 i18n 的完整使用流程:
接下来按照步骤,让我们来完成! // 1. 首先安装必要的依赖 // npm install i18next react-i18next i18next-http-backend i18next-browser-languagedetector// 2. 创建 i18n 配置文件 (src/i18n/index.js) import i18n from i18next import { initReactI…...
部署:上传项目代码 配置数据库
一、上传代码 1、使用git 可以使用Git Clone。使用前,在服务器上也要创建秘钥对。这里的密钥对,是专门用来读取Git仓库的。 在宝塔上,点击终端。进来后,运行 ssh-keygen还是一路回车,密钥对就建好了。 接着用命令…...
C++—9、如何在Microsoft Visual Studio中调试C++
本文通过实例操作来介绍 Visual Studio 调试器的功能。调试器在运行过程中可提供许多方法让你查看代码的情况。 你可以逐步浏览代码、查看变量中存储的值、设置对变量的监视以查看值何时改变、检查代码的执行路径、查看代码分支是否正在运行等等。本实例主要是设置断点及查看内…...
11. C 语言 作用域与变量使用技巧
本章目录: 前言一、作用域的分类局部变量示例: 全局变量示例:示例: 形式参数示例: 二、作用域的细节与常见误区块级作用域示例: 静态变量与全局变量的对比示例: 未初始化变量的影响示例: 三、实…...
【机器学习案列】学生抑郁可视化及预测分析
🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…...
Perl语言的循环实现
Perl语言的循环实现 引言 Perl是一种强大的脚本语言,以其灵活的语法和强大的文本处理能力著称。无论是在系统管理、网络编程,还是在Web应用开发中,Perl都广泛应用于各种领域。循环是编程语言中一个极其重要的概念,它允许程序重复…...
SpringBoot项目——使用Spark对爬虫爬取下的数据进行清洗
随着互联网信息呈爆炸式增长,爬虫技术被广泛用于从海量网页中抓取有价值的数据。然而,爬取到的数据往往存在格式不规范、重复、噪声等诸多问题,需要高效的数据清洗流程来保障数据质量,Spark 在其中发挥了关键作用。 什么是Spark …...
分布式锁 Redis vs etcd
为什么要实现分布式锁?为什么需要分布式锁,分布式锁的作用是什么,哪些场景会使用到分布式锁?分布式锁的实现方式有哪些分布式锁的核心原理是什么 如何实现分布式锁redis(自旋锁版本)etcd 的分布式锁(互斥锁(信号控制)版本) 分布式锁对比redis vs etcd 总结 为什么要实现分布式…...
《深度剖析:开源与闭源模型,AI舞台上的不同角色》
在人工智能蓬勃发展的当下,模型的选择如同为一场战役挑选合适的武器,至关重要。开源模型与闭源模型作为AI领域的两大阵营,在性能和应用场景上展现出显著差异,深刻影响着开发者、企业以及整个行业的走向。 性能差异:实…...
多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...
C语言中提供的第三方库之哈希表实现
一. 简介 前面一篇文章简单学习了C语言中第三方库(uthash库)提供对哈希表的操作,文章如下: C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...
Axure 下拉框联动
实现选省、选完省之后选对应省份下的市区...
