-
- 【Linux】进程信号的发送和保存
- 一、信号发送信号动作通过指令man-7signal查看信号的手册,可以找到普通信号发出后对应的操作、信号编号和详细描述信息。信号发送的本质普通信号的发送本质上是将信号写入进程的PCB结构体中的位图(pending位图)。这个位图对应着1到31号的普通信号,收到信号后将对应比特位置为1,表示信号已收到,然后PCB执行相应的工作。值得注意的是,如果连续发送普通信号,进程只会处理最后一次的信号,因为每次写入都是覆盖式的。实时信号与普通信号类似,但它们使用的是结构体而非位图,信号被组织在队列中,遵循先入
- linux运维 . 运维 514 2025-06-21 13:04:01
-
- 在Linux环境中使用Go编译静态二进制文件[译]
- Part1引言Go语言的一个优势是能够生成静态链接的可执行程序。但是,这并不是说默认情况下编译出来的Go可执行程序都是静态链接的。在有些情况下,需要额外的操作才能实现。具体情况取决于操作系统,本文介绍Unix系统下如何达成这一目标。Part2示例下面是用Go语言编写的helloworld程序,在linux机器上将其编译成可执行文件。然后检查该可执行文件是静态链接还是动态链接。代码语言:javascript代码运行次数:0运行复制packagemainimport"fmt"funcmain()
- linux运维 . 运维 1016 2025-06-21 12:54:01
-
- Linux基础指令与权限
- 登录指令通过SSH连接到云服务器,使用以下命令:ssh用户名@IP地址接受主机密钥后,输入密码即可登录到服务器。ls指令语法:ls[选项][文件或目录]功能:列出目录内容选项:-a:显示所有文件,包括隐藏文件-l:以长格式显示文件详细信息-R:递归显示子目录示例:ls-la#显示当前目录所有文件的详细信息ls/home#列出/home目录的内容pwd指令语法:pwd功能:显示当前工作目录的完整路径示例:pwd#输出当前工作目录路径cd指令语法:cd[目录]功能:更改当前工作
- linux运维 . 运维 1089 2025-06-21 12:48:12
-
- 【Linux篇】从零开始学软硬链接:高效文件管理的必备技能
- 软硬链接的终极对决:谁才是文件管理的王者?在计算机文件管理领域,软硬链接是提升操作效率的关键工具。硬链接如同文件的"多重身份",直接连接到文件数据,拥有与源文件相同的权限和存储空间;软链接则如"快捷方式",以独立文件的形式指向目标路径。两者在跨设备兼容性、存储空间占用及删除行为上表现出差异。掌握软硬链接的区别与使用场景,能帮助用户更灵活地管理存储空间,优化文件组织结构。本文将深入解析其原理与操作技巧,助您轻松驾驭高效文件管理方式。一.软硬链接1.1软链接(符号链接)1.1.1基本概念软链接(符号
- linux运维 . 运维 784 2025-06-21 12:48:01
-
- 【Linux】————(文件描述符、重定向、文件缓冲区……)
- C文件I/O操作的详细介绍,以下是关于如何使用C语言进行文件I/O操作的详细指南,包括文件描述符、重定向、文件缓冲区等概念的讲解。#includeintmain(){FILEfp=fopen("log.txt","w");if(fp==NULL){perror("fopen");return1;}fclose(fp);return0;}文件描述符和open函数:可以认为,f#系列的函数是对系统调用的封装,方便进行二次开发。文件描述符
- linux运维 . 运维 352 2025-06-21 12:44:11
-
- FreeRTOS | 原理介绍和资源get(第十四天)
- 点击上方"蓝字"关注我们01、什么是FreeRTOS?02、获取资源03、FreeRTOS的特点04、为何选择FreeRTOSFreeRTOS的文档非常全面,官方网站上提供了所有需要的资料。FreeRTOS是免费且开源的,可以免费用于商业产品。开源特性使学习操作系统原理、掌握FreeRTOS运行机制以及对操作系统进行深度裁剪以适应硬件变得更加容易。2017年底,FreeRTOS的作者加入亚马逊,担任首席工程师,FreeRTOS也由亚马逊管理。用户许可证进行了修改,使FreeRTOS更加开放和自由
- linux运维 . 运维 381 2025-06-21 12:38:22
-
- 【Linux】<共享内存应用>——模拟实现不同进程把hello字符对<共享内存文件对象>的放入和取出操作
- 一.共享内存概述及相关指令共享内存共享内存(SharedMemory)是一种允许多个进程访问同一块内存空间的机制。这种技术常用于进程间通信(IPC)和数据共享,因为它提供了一种高效的方式来传递大量数据,而无需通过内核进行数据的复制。在共享内存模型中,两个或多个进程可以将同一块物理内存映射到它们各自的地址空间中。这意味着,当一个进程向这块内存写入数据时,其他进程可以立即看到这些更改,因为它们实际上是在访问相同的内存位置。共享内存文件所在目录代码语言:javascript代码运行次数:0/dev/s
- linux运维 . 运维 287 2025-06-21 12:34:24
-
- 通过小程序进度条了解Linux下的多文件操作
- 在网络中,进度条随处可见,无论是下载还是上传,进度条都帮助我们判断当前的进展情况。然而,今天我们将讨论的进度条仅具备外观。首先,让我们了解一下回车的概念。1.1回车的概念在计算机出现之前,有一种名为电传打字机(TeletypeModel33)的机械打字机,每秒钟可以打10个字符。但在换行时需要0.2秒,这段时间内如果有新字符传输过来,字符可能会丢失。为了解决这个问题,研发人员在每行结尾添加了两个结束字符:一个是“回车”,指示打字机将打印头定位到左边界而不卷动滚筒;另一个是“换行”,指示打字机卷动
- linux运维 . 运维 787 2025-06-21 12:30:02
-
- 【Linux】进程控制&实现自主shell
- 一、进程创建1、fork函数初识在linux中fork函数是非常重要的函数,它从已存在进程中创建一个新进程。新进程为子进程,而原进程为父进程。代码语言:javascript代码运行次数:0运行复制#includepid_tfork(void);返回值:⾃进程中返回0,⽗进程返回⼦进程id,出错返回-1进程调用fork,当控制转移到内核中的fork代码后,内核做:分配新的内存块和内核数据结构给子进程将父进程部分数据结构内容拷贝至子进程添加子进程到系统进程列表当中fork返回,开始调度器调度当一个进
- linux运维 . 运维 1025 2025-06-21 12:28:31
-
- 查看Linux系统是Ubuntu还是CentOS
- 要确认Linux系统是Ubuntu还是CentOS,可以采用以下几种方法:首先,可以通过查看/etc/os-release文件来确认。在终端中输入以下命令:cat/etc/os-release如果输出的内容中包含"ID=ubuntu",则表明系统是Ubuntu;如果包含"ID=centos",则表明系统是CentOS。示例输出如下:其次,可以查看/etc/issue文件。在终端中执行以下命令:cat/etc/issue如果输出的内容中包含"Ubuntu",则表明系统是Ubuntu;如果包含"Ce
- linux运维 . 运维 323 2025-06-21 12:24:18
-
- Linux基础软件-yum(一)
- 作者简介:一位没有在简历上标注精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图展示了计划更新的内容和当前进度(不定期更新)。在Linux进阶部分中,我们已经讨论了许多细分领域,最近刚讲完Linux日常运维。那些内容都属于系统自带的功能,但作为服务器操作系统,Linux需要安装运行软件来满足业务需求。本章将从以下几个方面介绍基础软件部分:Linux基础软件-软件安装Linux基础软件-yum(一)(本节)Linux基础软件-yum(二)Linux基础软件-ntpLinux基础软
- linux运维 . 运维 686 2025-06-21 12:20:26
-
- Linux基础指令(汇总)
- 1.ls指令语法:ls选项目录或者文件功能:对于目录,该命令列出该目录下的所有子目录与文件,对于文件,将列出文件名以及其他信息。默认列出当前目录。常用选项:代码语言:javascript代码运行次数:0运行复制-a列出目录下的所有文件,包括以.开头的文件-d将目录像文件一样显示,而不是显示其下的文件-i输出文件的i节点的索引信息。如ls-ai指定文件-k以k个字节的形式表示文件的大小。ls-alk指定文件-l列出文件的详细信息。ll-n用数字的UID,
- linux运维 . 运维 781 2025-06-21 12:20:01
-
- Linux-安装Mariadb
- 环境操作系统:AlibabaCloudLinuxMariadb版本:10.5下载安装Mariadb代码语言:javascript代码运行次数:0运行复制yuminstallmariadb-server初始化mysql,默认没有密码代码语言:javascript代码运行次数:0运行复制mariadb-install-db启动数据库服务代码语言:javascript代码运行次数:0运行复制systemctlstartmariadb启动失败,根据提示使用journalctl-xe查看错误日志。这里
- linux运维 . 运维 272 2025-06-21 12:14:16
-
- 初识Linux · 线程概念
- 前言:Linux的学习从开始到现在,我们已经经历了许多大boss,从一开始的熟悉指令,到第一次在gcc环境下编译C语言的代码,到理解文件系统,比如理解了文件的权限,万物皆文件的概念,此时,是我们经历的第一次大boss,文件系统。之后,我们从shell开始慢慢理解Linux的系统内核部分,最典型的是我们慢慢开始理解了什么是进程,从pcb->task_struct到mm_struct地址空间,到页表部分,最后我们从物理内存出发,一步一步的理解了程序的地址,之后,我们学习了进程的状态,学习了进程的控制
- linux运维 . 运维 182 2025-06-21 12:12:26
-
- Linux环境开发工具【yum与vim】
- 在Linux系统中,安装软件通常涉及下载并编译源代码,这对于新手来说可能过于复杂。因此,预先编译的软件包被创建并存放在服务器上,通过包管理器可以方便地安装这些软件包。yum(YellowdogUpdater,Modified)是Linux中常见的包管理器,主要用于Fedora、RedHat和CentOS等发行版。yum可以看作是Linux中的“应用商店”,用于搜索、下载和安装软件包。1.1快速使用yum在之前的文章中,我们已经使用过yum来安装tree和man等命令。以下是如何使用yum的一些基
- linux运维 . 运维 945 2025-06-21 12:10:12
PHP讨论组
组员:3305人话题:1500
PHP一种被广泛应用的开放源代码的多用途脚本语言,和其他技术相比,php本身开源免费; 可以将程序嵌入于HTML中去执行, 执行效率比完全生成htmL标记的CGI要高许多,它运行在服务器端,消耗的系统资源相当少,具有跨平台强、效率高的特性,而且php支持几乎所有流行的数据库以及操作系统,最重要的是
