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