Linux
文章平均质量分 82
这个专栏记载了关于Linux的一些基础知识
阿宋同学
一个励志于写优质技术文章的博主,回复评论与私信超积极!
关注一下呗~
求点赞收藏,(,,´•ω•)ノ"(´っω•`。)~
展开
-
Linux系统调用函数文章索引
这里面记录了我写的一些关于Linux系统调用函数介绍使用的文章。原创 2023-03-27 19:29:06 · 1712 阅读 · 0 评论 -
全面理解:在计算机科学中同步、异步、并行、并发,他们之间到底有什么区别,如果正确更好的区分它们?
在计算机科学中,同步和异步是描述系统如何处理操作或任务的术语。同步操作是那些在完成之前阻塞进程或线程的操作。也就是说,在开始一个同步操作后,你必须等待它完成,然后才能开始执行另一个操作。例如,如果你在程序中进行网络请求,同步操作会使程序等待请求的结果,然后才继续执行。如果网络请求耗时较长,这可能导致程序在等待期间无法响应。异步操作则不同,当你启动一个异步操作时,它将立即返回,让你的程序可以继续执行其他操作。异步操作在后台运行,当它完成时,会以某种方式(通常是通过回调函数或者事件)通知你的程序。原创 2023-05-19 08:26:45 · 2746 阅读 · 0 评论 -
全面理解前台进程,后台进程的概念,以及之间如何切换,init进程与系列文章大总结(系列文章第四篇)
系统级别的进程:这些通常是由操作系统在启动时自动创建的进程,它们执行的任务通常与系统管理、硬件抽象、资源分配和控制等相关。它们通常由特权用户(如root)启动,并且运行在更高的权限级别。这些进程通常不会因为用户登录和注销而结束,因此它们常常被称为守护进程(daemon)。用户级别的进程:这些进程通常是由用户手动启动的,用于执行特定的任务或运行特定的应用程序。它们的生命周期通常与用户的会话(即登录和注销)相关联,而且它们通常运行在普通的用户权限级别下。原创 2023-05-16 22:18:42 · 1782 阅读 · 2 评论 -
全面理解守护进程的基础概念,以及如何创建一个守护进程(系列文章第三篇)
守护进程(daemon)是在 Unix 和类 Unix(如 Linux)操作系统中运行的一种特殊的后台进程,它们独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程通常在系统引导装载时启动,并且在系统关闭之前一直运行。守护进程的名称通常以 "d" 结尾,以便于区分。例如,sshd 是 Secure Shell 守护进程,httpd 是 HTTP 守护进程。这些进程在后台运行,提供各种服务,例如处理网络请求(如 web 服务器)、处理系统日志、处理电子邮件和其他各种任务。原创 2023-05-16 17:09:28 · 1036 阅读 · 1 评论 -
Linux系统调用函数time()、标准C库函数ctime(),localtime()函数讲解以及它们之间的区别
time():这是一个Linux系统调用,用于获取当前的系统时间。它返回自1970年1月1日00:00:00 UTC(也称为UNIX纪元)开始到当前系统时间的秒数。当你向time()函数传递一个非NULL的time_t类型的指针时,这个函数会将当前的UNIX时间戳写入到这个指针指向的变量中。ctime():这是一个标准C库函数,用于将time_t类型的时间转换为可读的字符串格式。它接收一个指向time_t类型的指针作为参数,然后返回一个表示当地时间的字符串。原创 2023-05-16 15:05:26 · 2752 阅读 · 0 评论 -
Linux系统调用函数open()、标准C库函数fopen()函数讲解以及它们之间的使用区别
open() 是 Linux 系统调用,用于打开或创建文件。它返回一个文件描述符,用于后续的文件操作。open() 提供了底层的、无缓冲的 I/O,直接与操作系统内核交互。fopen() 是标准 C 库函数,也用于打开或创建文件。它返回一个 FILE * 指针,用于后续的文件操作。fopen() 提供了更高级别的接口,包括缓冲和文件位置管理。由于 fopen() 是库函数,所以它在所有支持 C 标准库的系统上都可用。原创 2023-05-16 11:13:25 · 3275 阅读 · 0 评论 -
全面理解进程组,会话的基础概念,以及进程组,会话,控制终端,前台进程组与后台进程组之间的联系(系列文章第二篇)
进程组是一种将进程组织在一起的方法,会话则是将进程组组织在一起的方法。进程组和会话之间的关系是为了更好地对进程进行组织和管理。多个相关的进程组成一个进程组,多个相关的进程组又可以组成一个会话。在一个会话中,有一个前台进程组和一个或多个后台进程组。控制终端则关联到会话,负责接收用户的输入并将其传递给前台进程组,同时也负责显示来自进程的输出。原创 2023-05-13 20:40:14 · 839 阅读 · 0 评论 -
全面理解shell进程、终端、控制终端的概念,以及它们之间有什么区别与联系?(系列文章第一篇)
Shell 进程:当你打开一个终端窗口时,会启动一个 Shell 进程。这个 Shell 进程提供一个命令行界面,用于接收用户的输入,解析这些输入,然后执行相应的命令。终端:终端是用户与操作系统交互的接口。用户在终端输入命令,这些命令由 Shell 进程接收并执行。执行的结果再通过 Shell 进程返回到终端显示。交互方式:用户在终端输入命令,Shell 进程接收并解析这些命令,然后调用相应的程序执行。执行的结果再通过 Shell 进程返回到终端,显示给用户。关系:Shell 进程和终端之间的关系非常密切。原创 2023-05-11 21:51:39 · 1650 阅读 · 2 评论 -
共享内存的基础概念,函数用法,Linux相关命令和与内存映射的关系
共享内存是一种允许多个进程访问相同内存区域的技术,可以用于实现高效的进程间通信。共享内存有多种使用方法,如内存映射文件和匿名共享内存等。在使用共享内存时,需要注意同步和互斥问题以确保数据的一致性和完整性。。原创 2023-05-11 20:25:48 · 618 阅读 · 0 评论 -
Linux系统调用函数shmdt()、shmctl()(分离共享内存段,设置共享内存段的属性/删除共享内存段)
这篇文章介绍了Linux系统调用中的shmget、shmat函数与标准C库中的ftok函数。标准C库内容简介,标准C库函数常用函数与函数文章索引(不断更新)Linux系统调用函数文章索引。原创 2023-05-10 14:41:59 · 1963 阅读 · 0 评论 -
Linux系统调用函数shmget()、shmat(),标准C库函数ftok()(创建共享内存段,创建共享内存段的键,把共享内存段加入当前的进程的地址空间中)
如果,想要深入的学习Linux系统调用中的shmget、shmat函数与标准C库中的ftok函数,还是需要去自己阅读Linux系统中的帮助文档。即可查阅到完整的资料信息。原创 2023-05-09 21:46:29 · 3273 阅读 · 0 评论 -
Linux中信号的基础知识
总之,信号是Linux中一种重要的进程间通信机制,它提供了一种简单、灵活的方式来处理进程间的通知和事件。然而,信号机制的异步性和非阻塞性也导致了一些困难和问题,例如竞态条件和信号处理的复杂性。因此,在某些场景下,其他进程间通信机制,如管道、消息队列和共享内存等,可能会更加适合。。原创 2023-05-08 08:49:29 · 1255 阅读 · 0 评论 -
Linux系统调用之sigprocmask、sigpending函数(设置内核阻塞信号集,查看内核未决信号集)
这篇文章介绍了标准C库中的sigprocmask、sigpending这两个函数。标准C库内容简介,标准C库函数常用函数与函数文章索引(不断更新)Linux系统调用函数文章索引。原创 2023-05-07 16:04:38 · 763 阅读 · 0 评论 -
标准C库sigemptyset、sigfillset函数(清空自定义信号集,阻塞信号集所有信号)
这篇文章介绍了标准C库中的sigemptyset、sigfillset这两个函数。标准C库内容简介,标准C库函数常用函数与函数文章索引(不断更新)Linux系统调用函数文章索引。原创 2023-05-06 21:29:39 · 2943 阅读 · 0 评论 -
标准C库之sigismember、sigaddset、sigdelset函数(检查某个信号是否被阻塞,阻塞自定义信号集中的某一个信号,不阻塞自定义信号集中的某一个信号)
这篇文章介绍了标准C库中的sigismember、sigaddset、sigdelset这三个函数。标准C库内容简介,标准C库函数常用函数与函数文章索引(不断更新)Linux系统调用函数文章索引。原创 2023-05-06 21:28:19 · 845 阅读 · 0 评论 -
Linux系统调用之alarm,setitimer函数(定时器,向当前进程发送一个信号、循环/间隔定时器,周期性的向当前进程发送信号)
setitimer() 支持多个定时器(ITIMER_REAL、ITIMER_VIRTUAL 和 ITIMER_PROF),而 alarm() 只支持一个定时器。setitimer() 可以设置定时器的间隔时间,使定时器在到期后自动重置,而 alarm() 只能在指定的时间后触发一次。setitimer() 支持微秒级的时间精度,而 alarm() 只支持秒级的精度。原创 2023-05-02 20:29:10 · 2288 阅读 · 0 评论 -
Linux系统调用之signal,sigaction函数 (捕捉指定的信号,自定义/默认处理该信号)
如果,想要深入的学习Linux系统调用中的signal,sigaction函数,还是需要去自己阅读Linux系统中的帮助文档。即可查阅到完整的资料信息。原创 2023-05-01 16:12:21 · 1310 阅读 · 0 评论 -
Linux系统调用之kill函数(进程相关函数)
如果,想要深入的学习Linux系统调用中的kill函数,还是需要去自己阅读Linux系统中的帮助文档。即可查阅到完整的资料信息。原创 2023-04-25 20:51:43 · 2400 阅读 · 0 评论 -
Linux内存映射基础概念
总之,内存映射本身是一个更广泛的知识领域,涉及内存管理和文件操作等方面。然而,在实际应用中,它常常被用作一种高效的进程间通信方式,因此也可以将其视为进程间通信知识范畴的一个子集。原创 2023-04-17 15:31:06 · 743 阅读 · 0 评论 -
Linux系统调用之mmap,munmap函数
如果,想要深入的学习Linux系统调用中的mmap,munmap函数,还是需要去自己阅读Linux系统中的帮助文档。即可查阅到完整的资料信息。原创 2023-04-16 20:28:32 · 2039 阅读 · 0 评论 -
在Ubuntu18.0.4下安装Hadoop
在配置那4个文件的时候,注意< configuration > 只能有这么一对这样的括号存在,原配置文件中的这对括号删除掉,把我给的代码直接粘贴就好了。原创 2023-04-15 22:49:04 · 909 阅读 · 1 评论 -
理清概念:同步与异步
当谈论同步、异步、并行和顺序执行时,我们需要理解这些概念在不同上下文中的含义。同步通常指的是事件、操作或进程之间的有序关系。在一个同步场景中,一个操作必须在另一个操作完成后才能开始执行。同步还可以指代多个线程或进程在执行过程中需要进行协调,例如通过锁、信号量等机制来确保数据一致性或避免竞争条件。异步异步描述的是事件、操作或进程之间相互独立的关系。在异步场景中,一个操作可以在不等待其他操作完成的情况下开始执行。异步操作使得多个任务可以独立进行,从而提高系统的并发性能和响应能力。并行。原创 2023-04-11 21:31:41 · 8635 阅读 · 0 评论 -
C标准库函数mkfifo()(进程相关函数)
如果,想要深入的学习C标准库函数中的mkfifo函数,还是需要去自己阅读Linux系统中的帮助文档。即可查阅到完整的资料信息。原创 2023-04-03 21:24:17 · 818 阅读 · 0 评论 -
Linux系统调用之access函数
如果,想要深入的学习Linux系统调用中的access函数,还是需要去自己阅读Linux系统中的帮助文档。即可查阅到完整的资料信息。原创 2023-04-03 20:13:57 · 1908 阅读 · 0 评论 -
Linux系统调用之pipe函数
如果,想要深入的学习Linux系统调用函数pipe了话,还是需要去阅读Linux系统中的帮助文档的。具体输入命令:man 2 pipe即可查阅到完整的资料信息。原创 2023-03-29 00:14:58 · 3593 阅读 · 0 评论 -
C语言strlen函数与sizeof函数的区别
例如,对于一个字符串"Hello",strlen函数返回5,而sizeof函数返回包含该字符串和结尾null字符的整个字符数组的大小,通常是6个字节(取决于编译器和平台)。strlen函数返回的是无符号整数,而sizeof函数返回的是size_t类型的无符号整数。因此,当我们需要获取一个字符串的长度时,使用strlen函数是最好的选择,而如果需要获取数组或其他数据类型的大小,则应该使用sizeof函数。strlen函数返回字符串的长度,而sizeof函数返回的是整个数组的大小。去读取字符数组的大小,原创 2023-03-27 21:12:05 · 984 阅读 · 0 评论 -
为什么vps的硬盘数据会无故增多?
有几个可能的原因会导致你的 VPS 的硬盘数据增多:系统日志和缓存:系统会记录各种日志文件和缓存文件,这些文件会逐渐增加并占用磁盘空间。你可以通过清理日志和缓存来释放磁盘空间,或者使用系统工具来定期自动清理。应用程序和服务:如果你在 VPS 上运行了一些应用程序或者服务,它们可能会生成一些临时文件或者日志文件,并占用磁盘空间。你可以通过检查应用程序和服务的配置文件,了解它们生成的文件类型和位置,并定期清理这些文件来释放磁盘空间。原创 2023-03-27 16:52:48 · 965 阅读 · 0 评论 -
Linux系统调用之wait,waitpid函数(进程相关函数)
如果,想要深入的学习Linux系统调用中的wait,waitpid函数,还是需要去自己阅读Linux系统中的帮助文档。具体输入命令:即可查阅到完整的资料信息。原创 2023-03-22 19:51:10 · 2177 阅读 · 0 评论 -
孤儿进程与僵尸进程
孤儿进程就是指,父进程先执行结束了(父进程死了),而父进程的子进程还没有执行结束,子进程就会被init进程所去托管。所以这个时候的子进程就被称为孤儿进程。僵尸进程是指,当一个父进程的子进程早早的就执行结束了,而父进程还没有执行结束。如果没有调用 wait() 或 waitpid() 来获取子进程的退出状态信息的话,那只有等父进程执行结束了,才能去回收子进程所占用的资源。在父进程还未执行结束,且未调用wait等函数结束执行完的子进程,这种情况下的子进程称之为僵尸进程。原创 2023-03-20 21:55:16 · 129 阅读 · 0 评论 -
Linux系统调用_exit()函数与标准C库函数exit()的区别
最后我们用一张图片来形容他们之间的区别与相互作用。原创 2023-03-16 21:39:08 · 761 阅读 · 0 评论 -
Linux系统调用之execve函数与标准C库exec函数族(有关于进程方面的函数族)
如果,想要深入的学习标准C库中的exec函数族,还是需要去自己阅读Linux系统中的帮助文档。具体输入命令:man 3 exec即可查阅到完整的资料信息。原创 2023-03-16 18:36:01 · 1351 阅读 · 0 评论 -
macOS下virtualbox中的ubuntu18的磁盘空间扩容
这是一篇笔记,记录macOS下virtualbox中的ubuntu18的磁盘空间扩容的要点。环境:macOSubuntu18问题:磁盘空间不够,/目录挂载的是/dev/mapper/centos-root这个磁盘设备,该目录是整个虚拟机最大的一个存储区,当时分区只做了这一个。如何对它进行扩容?原创 2023-03-15 18:21:28 · 322 阅读 · 0 评论 -
Linux系统调用之fork,getpid,getppid函数(进程相关函数,与G老师的对话,必看!)
如果,想要深入的学习Linux系统调用中的dup,dup2函数,还是需要去自己阅读Linux系统中的帮助文档。具体输入命令:即可查阅到完整的资料信息。原创 2023-03-13 18:40:01 · 3516 阅读 · 1 评论 -
进程的多种状态,状态间如何转换,以及进程相关的命令
Shell是计算机操作系统中提供给用户进行交互的命令行解释器,它读取从终端输入的命令并将其传递给内核处理。在Linux系统中,常见的shell包括bash、zsh等。终端(Terminal)则是指向计算机上的一个物理设备,它通常显示一个命令行界面,让用户可以通过键盘输入Shell命令,并可以看到Shell命令输出的结果。因此,可以说终端是一个提供给用户输入和输出的界面,而Shell则负责接收用户输入的命令,并将相应的程序运行起来,是命令行的解释器。原创 2023-03-13 16:19:56 · 1203 阅读 · 0 评论 -
虚拟内存与虚拟地址空间
虚拟地址空间是一种使程序可以直接访问这些内存而不必真正了解这些内存在物理上所处的位置的技术。每个进程都有自己的独立虚拟地址空间,同时操作系统负责将每个进程的虚拟地址映射到主存中的物理内存地址。虚拟地址空间使每个进程都有最大4GB(32位系统)或16EB(64位系统)可用的虚拟内存空间,尽管实际物理内存少于该数量,这样允许处理器利用虚拟内存空间存储更多数据。总的来说,虚拟地址空间是一种重要的内存管理技术,它允许计算机以更高效、可靠和安全的方式管理内存。虚拟地址空间允许各进程共享某些资源并提升系统的效率。原创 2023-03-13 14:37:15 · 2188 阅读 · 0 评论 -
与进程相关的一些基础概念
进程是正在运行的程序的实例。是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。可以用一个程序来创建多个进程,进程是由内核定义的抽象实体,并为该实体分配用以执行程序的各项系统资源。从内核的角度看,进程由用户内存空间和一系列内核数据结构组成,其中用户内存空间包含了程序代码及代码所使用的变量,而内核数据结构则用于维护进程状态信息。原创 2023-03-12 19:11:29 · 266 阅读 · 0 评论 -
Linux系统调用之fcntl函数
如果,想要深入的学习Linux系统调用中的fcntl函数,还是需要去自己阅读Linux系统中的帮助文档。具体输入命令:即可查阅到完整的资料信息。原创 2023-03-09 19:35:07 · 950 阅读 · 0 评论 -
Linux系统调用之dup,dup2函数
如果,想要深入的学习Linux系统调用中的dup,dup2函数,还是需要去自己阅读Linux系统中的帮助文档。具体输入命令:即可查阅到完整的资料信息。原创 2023-03-08 19:29:58 · 568 阅读 · 0 评论 -
标准C库关于操作目录的函数
如果,想要深入的学习标准C库中opendir,readdir,closedir等这些有关于目录操作的函数,还是需要去自己阅读Linux系统中的帮助文档。具体输入命令:即可查阅到完整的资料信息。原创 2023-03-06 20:18:24 · 1115 阅读 · 0 评论 -
Linux系统调用之目录函数
今天学习的Linux系统调用有关于目录操作的函数共有这些mkdir,rmdir,rename,chdir,getcwd。实际操作下来还是十分有意思的。原创 2023-03-04 21:33:06 · 943 阅读 · 0 评论