Linux系统编程
文章平均质量分 91
人生缓缓,自有答案
人生缓缓,自有答案
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
linux线程同步
而在线程里也有这么一把锁:互斥锁(mutex),也叫互斥量,互斥锁是一种简单的加锁的方法来控制对共享资源的访问,互斥锁只有两种状态,即加锁( lock )和解锁( unlock )。互斥锁的操作流程如下:1)在访问共享资源后临界区域前,对互斥锁进行加锁。2)在访问完成后释放互斥锁导上的锁。3)对互斥锁进行加锁后,任何其他试图再次对互斥锁加锁的线程将会被阻塞,直到锁被释放。互斥锁的数据类型是: pthread_mutex_t。原创 2025-06-21 00:08:51 · 1426 阅读 · 0 评论 -
linux守护进程-线程
在许多经典的操作系统教科书中,总是把进程定义为程序的执行实例,它并不执行什么, 只是维护应用程序所需的各种资源,而线程则是真正的执行实体。所以,线程是轻量级的进程(LWP:light weight process),在Linux环境下线程的本质仍是进程。为了让进程完成一定的工作,进程必须至少包含一个线程。进程,直观点说,保存在硬盘上的程序运行以后,会在内存空间里形成一个独立的内存体,这个内存体有自己的地址空间,有自己的堆,上级挂靠单位是操作系统。操作系统会以进程为单位,分配系统资源,所以我们也说,原创 2025-06-20 17:52:56 · 917 阅读 · 0 评论 -
linux信号
信号的概念信号是 Linux 进程间通信的最古老的方式。信号是软件中断,它是在软件层次上对中断机制的一种模拟,是一种异步通信的方式。信号可以导致一个正在运行的进程被另一个正在运行的异步进程中断,转而处理某一个突发事件。“中断”在我们生活中经常遇到,譬如,我正在房间里打游戏,突然送快递的来了,把正在玩游戏的我给“中断”了,我去签收快递( 处理中断 ),处理完成后,再继续玩我的游戏。这里我们学习的“信号”就是属于这么一种“中断”。原创 2025-06-20 00:17:43 · 782 阅读 · 0 评论 -
linux进程间通信
管道也叫无名管道,它是是 UNIX 系统 IPC(进程间通信) 的最古老形式,所有的 UNIX 系统都支持这种通信机制。半双工,数据在同一时刻只能在一个方向上流动。数据只能从管道的一端写入,从另一端读出。写入管道中的数据遵循先入先出的规则。管道所传送的数据是无格式的,这要求管道的读出方与写入方必须事先约定好数据的格式,如多少字节算一个消息等。管道不是普通的文件,不属于某个文件系统,其只存在于内存中。管道在内存中对应一个缓冲区。不同的系统其大小不一定相同。原创 2025-06-18 20:20:31 · 740 阅读 · 0 评论 -
linux进程控制
在每个进程退出的时候,内核释放该进程所有的资源、包括打开的文件、占用的内存等。但是仍然为其保留一定的信息,这些信息主要主要指进程控制块PCB的信息(包括进程号、退出状态、运行时间等)。父进程可以通过调用wait或waitpid得到它的退出状态同时彻底清除掉这个进程。wait() 和 waitpid() 函数的功能一样,区别在于,wait() 函数会阻塞,waitpid() 可以设置不阻塞,waitpid() 还可以指定等待哪个子进程结束。原创 2025-06-17 22:35:17 · 987 阅读 · 0 评论 -
linux常用文件IO函数
open函数功能:打开文件,如果文件不存在则可以选择创建。参数:pathname:文件的路径及文件名flags:打开文件的行为标志,必选项 O_RDONLY, O_WRONLY, O_RDWRmode:这个参数,只有在文件不存在时有效,指新建文件时指定文件的权限返回值:成功:成功返回打开的文件描述符失败:-1可选项,和必选项按位或起来1) 文件最终权限:mode & ~umask2) shell进程的umask掩码可以用umask命令查看。原创 2025-06-17 00:32:09 · 483 阅读 · 0 评论 -
linux使用vscode加cmake代替vim、gcc、gdb、makefile编辑、构建、调试程序
编辑器如vi、记事本是指我用它来写程序的(编辑代码),而我们写的代码语句,电脑是不懂的,我们需要把它转成电脑能懂的语句,编译器就是这样的转化工具。就是说,我们用编辑器编写程序,由编译器编译后才可以运行!编译器是将易于编写、阅读和维护的高级计算机语言翻译为计算机能解读、运行的低级机器语言的程序。gccGNU编译器套件),是由GNU开发的编程语言编译器。gcc原本作为GNU操作系统的官方编译器,现已被大多数类Unix操作系统(如LinuxBSDMac OS X。原创 2025-06-16 15:41:32 · 1258 阅读 · 0 评论 -
linux介绍及其基本命令(超详细)
从文件尾部向上查看最后 n 行的内容使用方式:tail –n[行数] 文件名如果没有指定行数,默认显示最后10行内容示例:tail /etc/passwd 查看/etc/passwd后10行内容tail -n 30 /etc/passwd 查看/etc/passwd后30行内容tail -c 30 /etc/passwd 查看/etc/passwd后30个字符tail -f /etc/passwd 实时查看/etc/passwd文件内容。原创 2025-06-15 21:10:56 · 1285 阅读 · 0 评论 -
VMware虚拟机中安装Ubuntu以及与Windows的数据拖拽互通
把注释符号 ‘#’ 删除,保存文件并重启虚拟机。之后就可以在虚拟机和物理机之间拖拽复制文件。发现它已经成功启动了。此时你还需要打开/etc/gdm/custom.conf配置文件。Ubuntu安装完成之后不要装VMware tools。2.联网安装VMware tools。1.卸载open-vm-tools。如果发现它的状态是disable。原创 2025-06-03 21:52:44 · 568 阅读 · 0 评论
分享