摘要: 从变量开始 python 中全局变量在函数作用域内只能读,不能“写”。如果要在函数作用域内实现修改全局变量值操作,需要使用关键字 global 显示指明该变量是全局变量。 但是,在函数中的变量是即时的,调用的时候才被用到,调用完变量就会销毁。变量是临时的,状态不能保存。 那么,如果想保存临时变量的值 阅读全文
posted @ 2020-06-03 23:42 胡云Troy 阅读(570) 评论(0) 推荐(0)
摘要: 说明:看 systemd log 的时候发现了一段有意思的打印,不太明白为什么会这样,贴出来与朋友们分享,欢迎知道的朋友们说明下,非常感谢。 问题描述:服务启动时,会执行 python 脚本,该脚本去调用编译好的 C++ 可执行文件。在这之间都会有 log 输出,从时间上看是 C++ 的 log 先 阅读全文
posted @ 2020-05-30 13:45 胡云Troy 阅读(207) 评论(0) 推荐(0)
摘要: 软件安装流程 前面软件篇提到了通过 RPM 和 YUM 在线安装的机制安装软件,除了这两种方式之外还有一种通过源码来安装软件的方式。 如上流程图所示,程序员使用特定语言(c/c++/...)编写源文件,通过编译器翻译成机器可以执行的可执行文件,也就是二进制文件。其中,如果源文件依赖函数库的话,在编译 阅读全文
posted @ 2020-05-11 01:01 胡云Troy 阅读(287) 评论(0) 推荐(0)
摘要: 程序存储在硬盘中,需要执行的时候被加载到内存里,内存中的程序以进程的方式运行,进程会根据程序的内容去做读写文件,执行指令等操作。 文件/指令等都有自己的执行权限,符合权限的才能被执行。相应的,进程也需要有这些权限才能执行相应的操作。 进程权限 命令 cat /proc/<PID>/status | 阅读全文
posted @ 2020-05-10 17:41 胡云Troy 阅读(259) 评论(0) 推荐(0)
摘要: 有些进程会在系统上运行较长时间,如前面的 Hello World 程序运行时产生的进程。有些进程运行瞬间就结束了,如执行 ps 命令产生的进程,也有的进程会常驻在内存中,提供相应的服务,这样的进程称为守护进程(daemon),它所提供的功能叫做服务。 这样的守护进程有很多。比如,sshd(d 表示 阅读全文
posted @ 2020-05-06 01:01 胡云Troy 阅读(703) 评论(0) 推荐(0)
摘要: 创建子进程 上一节说过创建子进程的三种方式: 1. fork 复制进程:fork 会复制当前进程的副本,产生一个新的子进程,父子进程是完全独立的两个进程,他们掌握的资源(环境变量和普通变量)是一样的。 2. exec:exec 方式不会产生子进程,它会加载新的程序从而取代当前进程,当前进程的变量是被 阅读全文
posted @ 2020-05-04 23:37 胡云Troy 阅读(216) 评论(0) 推荐(0)
摘要: 多任务和 CPU 时间片 前面说了 Liunx 是多用户多任务的,所谓的多任务就是多个进程“同时”执行。比如,同时开多个软件(进程),对于用户来说好像每个软件(进程)都在工作,但是实际上,单核 CPU 做不到多个进程同时执行,只有多个 CPU 才能真正实现多任务执行。之所以会产生多个任务同时执行的错 阅读全文
posted @ 2020-05-03 18:24 胡云Troy 阅读(205) 评论(0) 推荐(0)
摘要: 1. 进程 程序放在硬盘中,在运行它的时候加载到内存,在内存里程序以进程的方式运行,进程有唯一的 ID ,叫 PID。 写个简单的 Hellow world 程序,让它产生 PID: [root@test]$ cat test.cpp #include <stdio.h> #include <uni 阅读全文
posted @ 2020-04-25 23:24 胡云Troy 阅读(377) 评论(0) 推荐(0)
摘要: 1. RPM RPM(RedHat Package Manager),顾名思义是 RedHat 的软件包管理器。它遵循 GPL 规则且功能强大好用,从而逐渐运用到其它 Liunx 发行版中,包括 Fedora,CentOS 等。通过 RPM 可以很方便的查询,升级和安装软件包。 厂商提供软件时,会预 阅读全文
posted @ 2020-04-11 00:16 胡云Troy 阅读(487) 评论(0) 推荐(0)
摘要: swap swap ,内存交换空间,它是磁盘上的一块空间,主要作用是为了防止物理内存不足。 CPU 从内存中读取数据。当内存的空间不足时, CPU 难以读取到数据,导致程序无法正常工作。所以诞生了 swap 内存交换空间,系统将内存中不常用的程序和数据放到 swap 中,从而给内存腾出空间,使得内存 阅读全文
posted @ 2020-04-04 14:25 胡云Troy 阅读(391) 评论(0) 推荐(0)