鸟哥Linux私房菜第四部分
鸟哥Linux私房菜第四部分
第十六章进程管理与SElinux初探部分
一个程序被加载到内存中运行,那么内存中的数据就被称为进程。进程是操作系统上十分重要的东西,所有系统上运行的东西都会以进程的形式存在。
程序通常是二进制的程序,被放置在存储媒介中,以物理文件的形式存在。当程序被触发后,程序的代码与所需的数据都会被加载到内存中,操作系统给予这个内存中的单元一个标识符(PID),可以说进程就是一个正在运行中的程序。
在linux系统中查看进程可以用ps aux命令,如果想要查看与本次登录相关的进程可以用ps -l命令。查询结果如下所示:
进程之间是可以相互控制的,举例来说,你可以去关闭,重新启动服务器软件进程,那么进程是该怎么管理呢,其实就是给该进程一个信号告诉他你想要他做什么,举例如下:
用kill PID就可以简单的来杀死某进程,如果想要杀死某服务,假设该服务包含许多进程,则可以用killall命令来进行。
说起进程让我想起了以前学stm32开发中有个FREERTOS系统,一个FREERTOS系统最多支持八个模拟进程,其中就涉及到进程的管理等等。
第十七章认识系统服务daemon
简单来说,系统为了某些功能必须提供一些服务,这个服务就被称为service。完成service的程序就是daemon,举例来说,周期性计划任务服务的程序是daemon.
现在查询或者管理系统的所有服务是用systemctl.systemctl 是 Linux 系统中用于管理和控制 systemd 初始化系统及其服务的命令行工具。systemd 是现代 Linux 发行版中广泛使用的初始化系统和服务管理器,它取代了传统的 SysV init 系统。
systemd 和 systemctl 的关系如下: systemd 是初始化系统,负责启动和管理系统的所有进程和服务。
systemctl 是与 systemd 交互的命令行工具,用于控制 systemd 管理的资源
systemctl 可以用于管理系统的服务、挂载点、设备、套接字等资源。以下是一些常见的用途:
1.启动、停止、重启服务:
启动服务:systemctl start <服务名>
停止服务:systemctl stop <服务名>
重启服务:systemctl restart <服务名>
2.启用或禁用服务:
启用服务(开机自启):systemctl enable <服务名>
禁用服务(取消开机自启):systemctl disable <服务名>
3.查看服务状态:
查看服务状态:systemctl status <服务名>
检查服务是否正在运行:systemctl is-active <服务名>
检查服务是否已启用:systemctl is-enabled <服务名>
4.管理系统状态:
重启系统:systemctl reboot
关闭系统:systemctl poweroff
挂起系统:systemctl suspend
进入救援模式:systemctl rescue
5.查看和管理所有服务:
列出所有已加载的服务:systemctl list-units --type=service
列出所有已安装的服务(无论是否运行):systemctl list-unit-files --type=service
6.日志管理:
查看服务的日志:journalctl -u <服务名>。
可知:systemctl 的使用通常是系统管理员日常工作中的一部分,用于确保系统服务的正常运行和维护。在系统故障排查、服务配置更新、系统升级或维护时,systemctl 命令尤为有用。换言之,对于一般用户是用不上的,对于服务器运维等管理员才是用的上的。
第二十一章软件安装:源代码与Tarball
在本章里面将借由Linux操作系统里面的执行文件来了解什么是可执行的程序与什么是编译器。
开放源代码是程序代码,写给人看的程序语言,但机器并不认识所以无法执行。编译器:将程序代码翻译为机器看得懂的语言。可执行文件:经过编译器变成的可执行程序,机器看得懂所以可以执行。
以GNU计划中著名的c/c++编译器gcc为例,就是先用gcc编译为可执行文件再去执行。在编译过程中,可以借由其他软件提供的函数库来使用该软件的相关机制与功能。
为了简化编译过程当中的复杂命令的输入,可以借由make与makefile来定义编译规则,来简化程序的更新编译与链接等操作。
Tarball 是一种归档文件格式,通常以 .tar 为扩展名。这种格式的文件是通过 tar(tape archive)程序创建的,它可以打包多个文件到一个单独的文件中,方便传输和存储。Tarball 文件本身并不压缩数据,但常常与 gzip、bzip2 或 xz 等压缩工具一起使用,从而形成 .tar.gz、.tar.bz2 或 .tar.xz 等压缩包。
Tarball的用途如下:
1.软件安装:许多开源软件项目将它们的源代码发布为 Tarball 格式,便于下载和编译安装。
2.备份:用户可以将重要的文件打包成 Tarball 进行备份
3.数据传输:通过将多个文件合并为一个文件,可以简化文件的传输过程。
上面是应用tar的打包和解包的简明例子,首先打包为mytest.tar其中包含test.c和test.py,后面再去解包。