linux
文章平均质量分 93
linux学习笔记
ProcedureStone
希望成为一名强大的程序猿!
展开
-
【linux】线程的理论介绍
需要注意的是,__thread 关键字是 GCC 的扩展语法,虽然在大多数情况下可以正常工作,但并不是 C 标准的一部分,因此在一些不支持 GCC 扩展语法的编译器中可能无法使用。在 C11 标准中引入了 _Thread_local 关键字,用于实现线程局部存储,具有类似的功能,而且是标准化的语法。原创 2024-04-02 11:26:35 · 791 阅读 · 0 评论 -
【linux】进程1 -- 状态和优先级
它的作用是创建一个与当前进程几乎完全相同的子进程,这个子进程有着与父进程相同的代码、数据和上下文,但是有着独立的内存空间。僵尸进程虽然不会直接对系统造成严重影响,但长时间存在的僵尸进程会对系统的正常运行产生一些间接的危害,包括:可能导致资源耗尽,影响进程管理,降低系统稳定性。这样,当nice值为负值的时候,那么该程序将会优先级值将变小,即其优先级会变高,则其越快被执行所以,调整进程优先级,在Linux下,就是调整进程nice值。linux下,我们使用的命令,如ls等,运行起来就是一个进程。原创 2024-03-21 16:48:24 · 847 阅读 · 0 评论 -
【linux】进程间通信1--管道
在多任务操作系统中,不同的进程可能同时运行,它们之间可能需要进行数据共享、协作完成某项任务等操作,这就需要进程间通信。对于一个文件,我们普遍印象如下图,进程打开文件,通过写(读)操作,写入(读取)文件缓冲区,再由文件缓冲区刷新到磁盘里。上面讲到的匿名管道应用于具有血缘关系的管道,如果我们要让俩个不相干的进程进行通信,就要使用命名管道。管道是Unix中最古老的进程间通信的形式,所谓的“管道”,指的是从一个进程连接到另一个进程的一个。命名管道和匿名管道的性质一样,是一种特殊的文件形式,不存储数据,只传递数据。原创 2024-03-18 20:55:55 · 849 阅读 · 0 评论 -
【linux】环境变量
环境变量是操作系统中存储的一组键值对,用于指定进程的运行环境。每个进程都会继承父进程的环境变量,并可以在此基础上进行修改或扩展。环境变量通常包含了诸如路径、默认编辑器、语言设置等信息不同的环境变量有不同的用户,通常有全局属性。在linux系统中,使用命令env可以查看环境变量某些环境变量的意义PATH:linux下的默认指令搜索路径路径与路径之间使用分隔我们日常定义的程序,运行时需要./, 而像ls却不需要加上./,原因就在于PATH,ls的路径存储在PATH变量里面,即/usr/bin。原创 2024-03-21 19:27:00 · 673 阅读 · 0 评论 -
【linux】动静态库
在这个目录下,可以放置一系列以 .conf 结尾的文件,这些文件包含了动态链接器的库文件搜索路径配置。此时我们用ldd命令来查看,会看到not found,找不到库,可我们明明已经告诉编译器库在哪里,为什么还是找不到?当程序运行时,dy.so会被加载到内存里,然后通过页表,映射到进程1和进程2的进程地址空间里的。原因是你只告诉了.h的路径,并没有告诉.a文件的路径.静态库:程序在编译链接的时候把库的代码链接到可执行文件中。动态库:程序在运行的时候才去链接动态库的代码,多个程序共享使用库的代码。原创 2024-03-11 19:43:49 · 1025 阅读 · 0 评论