20211105李宜时《信息安全系统设计与实现》第六周学习笔记

发布时间 2023-10-22 10:14:29作者: 李宜时

Ubuntu 学习笔记:Unix/Linux 进程管理

相关基础知识

在 Ubuntu 学习 Unix/Linux 进程管理之前,需要了解以下基础知识:

  • 进程:进程是正在运行的程序的一个实例。每个进程都有一个唯一的进程标识符(PID)。
  • 进程状态:进程可以处于运行、睡眠、停止、僵尸等不同状态。
  • 进程调度:操作系统负责安排各个进程的执行,可以使用调度算法来分配 CPU 时间。
  • 父子进程关系:进程可以创建其他进程,形成父子进程关系。

进程管理基本命令

在 Ubuntu 中,可以使用以下命令来管理进程:

  • ps:查看系统中的进程。
  • top:实时查看系统的资源使用情况和运行进程。
  • kill:终止进程。
  • nice:调整进程的优先级。
  • pgrep:根据进程名查找进程的 PID。
  • pkill:根据进程名终止进程。

进程状态

Unix/Linux 中的进程可以处于以下状态之一:

  • 运行(Running):进程正在执行。
  • 睡眠(Sleeping):进程暂时阻塞,等待某个事件的发生。
  • 停止(Stopped):进程被暂停,但可以恢复执行。
  • 僵尸(Zombie):进程已经完成执行,但父进程尚未收到其终止状态。

代码实践

在 Ubuntu 中进行代码实践,你可以编写脚本或编译运行程序来管理进程。以下是一个示例的Bash脚本,用于查找和终止特定进程:

#!/bin/bash

# 查找进程的PID
pid=$(pgrep -o -x "your_process_name")

if [ -z "$pid" ]; then
  echo "进程不存在或未找到"
else
  echo "找到进程PID: $pid"
  # 终止进程
  kill -9 "$pid"
  echo "进程已终止"
fi

多任务处理系统

Ubuntu 是一个多任务处理系统,这意味着它可以同时运行多个进程。多任务处理系统有以下特点:

  • 并发性:多个进程可以同时运行。
  • 并行性:多个进程可以在多个处理器核心上并行执行。

进程同步

进程同步是确保多个进程协调工作的重要概念。在 Ubuntu 中,你可以使用各种工具和技术来实现进程同步,例如:

  • 信号量
  • 互斥锁
  • 条件变量

进程终止

进程终止是指进程的结束。在 Ubuntu 中,你可以使用以下命令来终止进程:

kill [选项] 进程ID

多任务系统中的进程管理

在 Ubuntu 中,你可以使用以下命令来管理进程:

  • ps:查看系统中的进程。
  • top:实时查看系统的资源使用情况。
  • kill:终止进程。
  • nice:调整进程的优先级。
  • renice:重新设置进程的优先级。

编程项目

在 Ubuntu 上进行编程项目时,你可以使用各种编程语言和工具,例如:

  • C/C++:使用 GCC 编译器。
  • Python:使用 Python 解释器。
  • Java:使用 OpenJDK。
  • 开发工具:如 Visual Studio Code 或者 PyCharm。

Shell 模拟器

Ubuntu 使用 Bash 作为默认的Shell模拟器。你可以通过以下方式与Shell进行交互:

  • 打开终端应用。
  • 在终端中输入命令和脚本。

相关基础知识

在学习 Ubuntu 时,你需要了解以下基础知识:

  • Linux 文件系统结构。
  • 文件和目录管理。
  • 用户和权限管理。
  • 网络配置和管理。

代码实践

在 Ubuntu 上进行代码实践是非常重要的。你可以编写各种类型的程序,如命令行工具、图形界面应用程序、Web应用程序等。确保你熟悉所选编程语言的语法和相应的开发工具。

# 一个简单的Python示例
print("Hello, Ubuntu!")

总结心得

Unix/Linux 进程管理是 Linux 系统的核心功能之一,它使你能够有效地管理系统资源和应用程序。在学习这个主题时,你应该掌握以下核心概念:

  • 进程的创建、终止和调度。
  • 进程状态的理解,特别是僵尸进程。
  • 使用命令行工具和脚本来管理进程。
  • 进程的优先级和资源分配。