首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
unix专题
列举你能想到的UNIX信号,并说明信号用途
信号是一种软中断,是一种处理异步事件的方法。一般来说,操作系统都支持许多信号。尤其是UNIX,比较重要应用程序一般都会处理信号。 UNIX定义了许多信号,比如SIGINT表示中断字符信号,也就是Ctrl+C的信号,SIGBUS表示硬件故障的信号;SIGCHLD表示子进程状态改变信号;SIGKILL表示终止程序运行的信号,等等。信号量编程是UNIX下非常重要的一种技术。 Unix信号量也可以
阅读更多...
【unix高级编程系列】线程
引言 我们知道unix进程中可以有多个线程,进程中的线程可以访问该进程的所有组成部分。并且CPU的调度单元就是线程。这就面临一个问题:当进程中的临界资源需要在多个线程中共享时,如何解决一致性问题? 本文将从线程的概念、线程的使用方式、unix提供哪些方式解决一致性问题进行介绍,加深对线程的理解。 线程概念 线程的优点: 简化代码结构。比如在业务上为每种事件类型分配单独的处理线程,可以
阅读更多...
linux的nohup命令的用法。在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 在程序结尾来让程序自动运行。比如我们要运行mysql在后台: /usr/local
在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行。比如我们要运行mysql在后台: /usr/local/mysql/bin/mysqld_safe –user=mysql &。可是有很多程序并不想mysqld一样,这样我们就需要nohup命令,怎样使用nohup命令呢?这里讲解nohup命令的一些用法。 nohup /root/
阅读更多...
【Unix编程】进程间通信(IPC)
进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。 一、管道 管道,通常指无名管道,是 UNIX 系统IPC最古老的形式。 1、特点: 它是半双工
阅读更多...
Unix与Linux的关系
Unix 和 Linux 之间有着密切的历史和技术联系,尽管它们是两个独立的操作系统。 Unix 的历史 Unix 的历史可以追溯到1969年,当时 AT&T 的贝尔实验室的工程师肯·汤普逊(Ken Thompson)和丹尼斯·里奇(Dennis Ritchie)开始开发 Unix 操作系统。Unix 设计之初是为了方便进行程序开发工作,它强调的是多用户、多任务的能力,以及良好的文件系统支持。
阅读更多...
【docker无法启动】 can't create unix socket /var/run/docker.sock: is a directory
一次重启docker后出现的问题 Oct 18 19:18:20 worker systemd[1]: Starting Docker Application Container Engine...Oct 18 19:18:20 worker1 dockerd-current[118257]: time="2018-10-18T19:18:20.734668371+08:00" level=w
阅读更多...
在 Linux 和类 Unix 系统中,终端(Terminal)和 Shell
在 Linux 和类 Unix 系统中,终端(Terminal)和 Shell 是两个相关但不同的概念。以下是它们的定义和关系: 1. 终端(Terminal) 终端 是一个用于与计算机交互的用户界面。它可以是一个物理设备(如早期的硬件终端)或一个软件应用程序(如现代的终端模拟器)。终端提供了一个输入和输出的窗口,用户可以在其中输入命令,并查看计算机的响应。 物理终端: 在早期计算机中,物
阅读更多...
Linux和Unix的区别及为什么鸿蒙系统不用Unix的原因
目录 Linux是什么? Unix是什么? 他们的区别: 鸿蒙系统介绍及鸿蒙系统不用Unix的原因 Linux是什么? Linux的历史可以追溯到1991年,由芬兰的计算机科学家林纳斯·托瓦兹(Linus Torvalds)为了学习操作系统的工作原理而开始编写的个人项目。Linux的起源与Unix操作系统有着密切的联系,Unix最初由Ken Thompson和Denni
阅读更多...
Unix环境高级编程开篇-apue.h配置
书就不多说了,被称为Unix下C编程的圣经;不过现在国内貌似部分人都喜欢向别人推荐书,我很怀疑着部分人是不是推荐的每一本都看过。这个我暂时也不敢推荐,因为我也没有看完。 这本书上几乎所有的代码都用到了作者编程的一个头文件:apue.h,但是这个不是ISO C自带的,所以需要配置一下。 我用的这本书是第三版,第三版,第三版 重要的事情说三遍 1:先去这本书的官网把源代码下载下来,传送门 2:
阅读更多...
linux/UNIX体系结构图
以上是linux结构图 以下是UNIX体系结构图 <script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"
阅读更多...
Linux进程间的通信(二)管道通信及其实际应用(主要是实际编程应用,底层涉及不太多,想了解底层参考《UNIX环境高级编程》)
目录 简单介绍一下管道的概念及其特性 命名管道 命名管道例程 匿名管道 匿名管道例程 Linux管道通信实战演示 1、利用管道建立聊天室,实现两个用户间的发送和接受消息 2、利用管道进行文件的传输 简单介绍一下管道的概念及其特性 管道是一种进程间通信(IPC)机制,它允许一个进程将数据传递给另一个进程。管道文件可以看作是一个临时的、基于内存的数据通道,数据在其
阅读更多...
unix下C标准文件操作及进程相关知识
close函数可以关闭一个已打开的文件 #include<unistd.h> int close(int fd);//返回值:若成功返回0;若出错,返回-1并设置errno 参数fd是要关闭的文件描述符,需要说明的是,当一个进程终止时,内核对该进程所有尚未关闭的文件描述符调用close(fd)函数关闭,所以即便用户程序不调用close,在终止时内核也会自动关闭它打开的所有文件,但
阅读更多...
UNIX网络编程——epoll的ET/LT模式注意点
epoll模型有两种工作模式,ET和LT两种模式下都有一些细节值得注意,以下是一些思考: 一、ET模式下 Q1:调用accept时,到底TCP完成队列里有多少个已经建立好的连接? 这里又得分情况来说: 没有连接。这种情况发生在TCP连接被客户端夭折,即在服务端调用accept之前客户端给出一个RST。该RST导致刚刚建立好的连接从服务器端的TCP完成队列中被移出。源自be
阅读更多...
UNIX网络编程——epoll 的accept , read, write
在一个非阻塞的socket上调用read/write函数,返回EAGAIN或者EWOULDBLOCK(注:EAGAIN就是EWOULDBLOCK)。 从字面上看,意思是: EAGAIN: 再试一次 EWOULDBLOCK:如果这是一个阻塞socket, 操作将被block perror输出:Resource temporarily unavailable 总结:
阅读更多...
《unix网络编程》(16)epoll函数
几种模型的比较 关于PPC、TPC的问题、I/O复用的由来、epoll和select的详细对比参考文章:高性能网络编程5--IO复用与并发编程 1 PPC、TPC模型 传统的网络服务器是用一个单独的线程或进程处理每一个连接。对于高性能的应用,这需要在某一个时刻同时处理大量的客户请求,这种模式效率不高,因为(Process Per Connection,PPC), TPC(Th
阅读更多...
[oeasy]python031_[趣味拓展]unix起源_Ken_Tompson_Ritchie_multics
[趣味拓展]unix起源_Ken_Tompson_Ritchie_multics 🥋 回忆上次内容 上次 动态设置了 断点 断点 可以把代码 切成一段一段的可以 更快地调试 调试的目的 是 去除 bug 别害怕 bug 一步步 总能找到 bug这 就是 程序员基本功 调试 debug 在bug出现的时候 甚至还没有出现操作系统 那操作系统 是怎么开始有的呢??🤔 出
阅读更多...
UNIX索引技术访问文件初阶
背景: 软考里面,多次碰到一道题: 过程 以前对于这样的题,仅仅知道: 在文件系统中,文件的存储设备通常划分为若干个大小相等的物理块,每块长为 512 或 1024 字节。文件的理结构是指文件在存储设备上的存储方法,常用的文件物理结构有:连续文件、串联文件和索引文件三种。 (1) 连续文件 ( 顺序文件 ) 连续文件是一种最简单的物
阅读更多...
400 - Unix ls
题目:400 - Unix ls 题目大意:将给的字符串排序,然后要求最多的列,最少的行的格式输出, 并且要对齐, 对齐的长度是字符串最长的那个长度+2。 解题思路:用sort(),然后控制一下输出的顺序,一行一行的输出。注意:当心程序里有除以0的程序; #include<stdio.h>#include<stdlib.h>#include<string.h>con
阅读更多...
p2p、分布式,区块链笔记: IPFS库Helia的文件系统Unix File System (UnixFS)
Unix File System (UnixFS) Helia中定义一个UnixFS类用于文件处理。The Unix File System (UnixFS) is the data format used to represent files and all their links and metadata in IPFS.。UnixFS中的方法封装了常见的文件系统操作,使得在去中心化文件系统
阅读更多...
《UNIX网络编程》学习笔记:基本TCP套接字编程
1.socket(int family, int type, int protocol); 返回:若成功则为非负描述符,若出错则为-1 功能:创建一个未连接的套接字 family指明地址协议族,type指明套接字类型,protocol为某个协议类型常值。 对比AF_XXX和PF_XXX:AF_前缀表示地址族(address family),PF_前缀表示协议族(protocol
阅读更多...
将标准输入stdin转换成命令行参数——Unix中的xargs指令
xargs是Unix中的复合指令加工机,联合管道符“|”将制造更加强大的“复杂”指令组合。 (笔记模板由python脚本于2024年08月22日 18:13:51创建,本篇笔记适合喜欢Linux的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程《 python 完全自学教
阅读更多...
APUE读书笔记-第二章 unix标准及实现
《程序员的自我修养》这本书的读书笔记就先告一段落了,最后一章的运行时库实现也没有实现,有机会再补上吧。今天又回到APUE,第一章也不给大家分享什么了,这本书的读书笔记从第二章开始。好了开始今天的主题,第二章2.4小节之前关于unix标准与实现的讨论在此也就不详细分析了,从2.5小节开始。 2.5小节主要讨论unix系统中的“限制”,主要包括两类限制: 编译时限制,例如,短整型的最大值是多少。
阅读更多...
[1 Unix基础]
1.2 Unix体系架构 内核的接口被称为系统调用(system call)。公用函数库构建在系统调用接口之上,应用程序即可使用公用函数库,也可使用系统调用。shell是一个特殊的应用程序,为运行其他应用程序提供了一个接口。 图1-1 Unix操作系统的体系结构 1.3 登录 系统在口令文件(/etc/passwd)中查看登录名。口令文件的登录项由7个以冒号分隔的字段组成,依次是:登录
阅读更多...
unix_timestamp日期计算
unix_timestamp()函数的作用是返回一个确切的时间点的UNIX时间戳,这个Unix时间戳是一个无符号整数。unix_timestamp()函数有两种重载形式,一是不带任何参数,另外一个是带有一个Date或DateTime或TimeStamp类型的参数。 unix_timestamp(),返回自1970-1-1 8:00:00开始到当前系统时间为止的秒数。 unix_ti
阅读更多...
【Linux进阶】UNIX体系结构分解——操作系统,内核,shell
1.什么是操作系统? 从严格意义上说,可将操作系统定义为一种软件,它控制计算机硬件资源,提供程序运行环境。我们通常将这种软件称为内核(kerel),因为它相对较小,而且位于环境的核心。 从广义上说,操作系统包括了内核和一些其他软件,这些软件使得计算机能够发挥作用,并使计算机具有自己的特生。这里所说的其他软件包括系统实用程序(system utility)、应用程序、shell以及公用函数库等
阅读更多...
Unix、Minix和Linux
Unix介绍 UNIX操作系统(尤尼斯),是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由KenThompson、DennisRitchie和DouglasMcIlroy于1969年在AT&T的贝尔实验室开发。目前它的商标权由国际开放标准组织所拥有,只有符合单一UNIX规范的UNIX系统才能使用UNIX这个名称,否则只能称为类UNIX(UNI
阅读更多...