05 2020 档案
摘要:说明:看 systemd log 的时候发现了一段有意思的打印,不太明白为什么会这样,贴出来与朋友们分享,欢迎知道的朋友们说明下,非常感谢。 问题描述:服务启动时,会执行 python 脚本,该脚本去调用编译好的 C++ 可执行文件。在这之间都会有 log 输出,从时间上看是 C++ 的 log 先
阅读全文
摘要:软件安装流程 前面软件篇提到了通过 RPM 和 YUM 在线安装的机制安装软件,除了这两种方式之外还有一种通过源码来安装软件的方式。 如上流程图所示,程序员使用特定语言(c/c++/...)编写源文件,通过编译器翻译成机器可以执行的可执行文件,也就是二进制文件。其中,如果源文件依赖函数库的话,在编译
阅读全文
摘要:程序存储在硬盘中,需要执行的时候被加载到内存里,内存中的程序以进程的方式运行,进程会根据程序的内容去做读写文件,执行指令等操作。 文件/指令等都有自己的执行权限,符合权限的才能被执行。相应的,进程也需要有这些权限才能执行相应的操作。 进程权限 命令 cat /proc/<PID>/status |
阅读全文
摘要:- 十八章 大道废, 有仁义。 智慧出, 有大伪。 六亲不和, 有孝慈。 国家昏暗, 有忠臣。
阅读全文
摘要:- 十七章 太上,下知有之, 其次亲而誉之, 其次畏之, 其次侮之, 信不足焉, 有不信焉! 悠兮,其贵言, 功成事遂, 百姓皆为“我自然”。
阅读全文
摘要:有些进程会在系统上运行较长时间,如前面的 Hello World 程序运行时产生的进程。有些进程运行瞬间就结束了,如执行 ps 命令产生的进程,也有的进程会常驻在内存中,提供相应的服务,这样的进程称为守护进程(daemon),它所提供的功能叫做服务。 这样的守护进程有很多。比如,sshd(d 表示
阅读全文
摘要:创建子进程 上一节说过创建子进程的三种方式: 1. fork 复制进程:fork 会复制当前进程的副本,产生一个新的子进程,父子进程是完全独立的两个进程,他们掌握的资源(环境变量和普通变量)是一样的。 2. exec:exec 方式不会产生子进程,它会加载新的程序从而取代当前进程,当前进程的变量是被
阅读全文
摘要:多任务和 CPU 时间片 前面说了 Liunx 是多用户多任务的,所谓的多任务就是多个进程“同时”执行。比如,同时开多个软件(进程),对于用户来说好像每个软件(进程)都在工作,但是实际上,单核 CPU 做不到多个进程同时执行,只有多个 CPU 才能真正实现多任务执行。之所以会产生多个任务同时执行的错
阅读全文