From aa3128071ea84f9d9a9aa49fd9ce4bdb23a1f0f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B4=AA=E9=94=A6=E6=B4=8B?= <19859791165> Date: Tue, 25 Jun 2024 13:09:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...15\345\212\241\347\256\241\347\220\206.md" | 136 ++++++++++++++++++ 1 file changed, 136 insertions(+) create mode 100644 "21 \346\264\252\351\224\246\346\264\213/2024-06-25 \346\234\215\345\212\241\347\256\241\347\220\206.md" diff --git "a/21 \346\264\252\351\224\246\346\264\213/2024-06-25 \346\234\215\345\212\241\347\256\241\347\220\206.md" "b/21 \346\264\252\351\224\246\346\264\213/2024-06-25 \346\234\215\345\212\241\347\256\241\347\220\206.md" new file mode 100644 index 0000000..7d90e44 --- /dev/null +++ "b/21 \346\264\252\351\224\246\346\264\213/2024-06-25 \346\234\215\345\212\241\347\256\241\347\220\206.md" @@ -0,0 +1,136 @@ +``` +## 进程管理 + +一、进程概述 + +进程是计算机系统中正在运行的程序的实例。每个进程都有唯一的标识符(PID)和相关的资源,例如内存、文件描述符和CPU时间。 + +二、进程命令 + +1. ps命令:用于列出当前正在运行的进程。 + + ```bash + ps [options] +``` + +- `aux`: 显示所有用户的所有进程。 +- `-e`:显示系统中所有的进程,包括其他用户的进程。 +- `-f`:显示完整的进程信息,包括父进程ID、进程组ID等。 +- `-u`:显示当前用户的进程详细信息。 +- `ef`:以完整格式显示所有进程。 +- `--forest`:以树形结构显示进程关系。(pstree) + +1. top命令:实时显示系统中的进程和系统性能信息。 + + - PID(Process ID): 进程的唯一标识符。 + - USER: 运行进程的用户。 + - PR(Priority): 进程的优先级。 + - NI(Nice value): 进程的静态优先级。 + - VIRT (Virtual Memory): 进程占用的虚拟内存大小。 + - RES (Resident Memory): 进程占用的物理内存大小。 + - SHR (Shared Memory): 进程使用的共享内存大小。 + - S (Status): 进程的状态,如运行、睡眠、僵尸等。 + - %CPU (CPU占用率): 进程占用CPU的百分比。 + - %MEM (内存占用率): 进程占用内存的百分比。 + - TIME+ (Execution Time): 进程占用CPU的累计时间。 + +2. kill命令:用于终止指定进程。 + + ``` + kill [signal] PID + ``` + + - `PID``:终止使用此PID的进程。SIGTERM,终止信号。 + - `-1或–hangup`:用于重启或重新加载进程。SIGHUP,挂起信号。 + - `-2或–interrupt`:由Ctrl+C发送给前台进程。SIGINT,中断信号。 + - `-3或–quit`:由Ctrl+\发送给前台进程。SIGQUIT,退出信号。 + - `-9`:使用强制终止信号(SIGKILL)终止进程。 + - `-15或–terminate`:默认的终止信号。SIGTERM,终止信号。 + - `-17或–stop`:暂停进程的执行,可以使用kill -CONT恢复执行。SIGSTOP,停止信号。 + - `-18或–continue`:恢复被停止的进程的执行。SIGCONT,继续信号。 + +3. killall命令:终止指定名称的所有进程。 + + 先安装psmisc,才会有killall,fuser,pstree。 + + - `-l`:列出可用的信号名称。 + - `-s`:指定发送的信号名称或编号。 + +4. pgrep命令:根据进程名查找匹配的进程ID。 + + ``` + pgrep 服务器名 + pgrep -u 用户名 + pgrep -u 用户名 服务器名 + ``` + +5. pkill命令:根据进程名终止匹配的进程。 + +6. nice命令:设置进程的优先级。 + + 进程优先级值的范围从-20到19。值越低,优先级越高 + + ``` + nice <优先值> <进程名> --根据优先级启动 + ``` + +7. renice命令:修改正在运行进程的优先级。 + + ``` + renice -n 优先值 -p 进程号 + renice -u -g --指定用户和组 + ``` + +8. w命令:提供当前登录的用户及其正在执行的进程的信息。 + + who命令,提供当前登录用户列表、系统启动时间、运行级别等。 + +9. bg和fg命令:将进程放到后台或前台运行。 + + - `&`:一开始就放到后台运行 + - bg %编号:切换至后台 + - Ctrl+Z:挂起(暂时) + - fg %编号:切换至前台 + - jobs:查看所有后台进程 \ No newline at end of file +41 49 徐雨晴/240624 服务管理.md 0 -> 100644 + +## 服务管理 + +1. init + + Linux 的启动一直采用init 进程。在类Unix 的计算机操作系统中,Init(初始化的简称)是在启动计算机系统期间启动的第一个进程。Init 是一个守护进程,它将持续运行,直到系统关闭。它是所有其他进程的直接或间接的父进程。init 的参数全在/etc/init.d目录下,因为Init进程是由内核启动的第一个用户级进程,它的位置通常在/sbin/init。 + +2. service + + service 命令是使用 System V 作为 init 系统的 Linux 发行版中用来控制系统服务的实用工具,service 命令的作用是去 /etc/init.d 目录下寻找相应的服务脚本文件,可以启动、停止、重启系统服务,还可以显示所有系统服务的当前状态。 + + 重点:service命令本身是一个shell脚本,它在/etc/init.d/目录查找指定的服务脚本,然后调用该服务脚本来完成任务。 + +3. systemctl + + systemd是Linux系统最新的初始化init系统,作用是提高系统的启动速度,尽可能启动较少的进程,尽可能更多进程并发启动。根据 Linux 惯例,字母d是守护进程(daemon)的缩写。Systemd 并不是一个命令,而是一组命令,涉及到系统管理的方方面面。systemd对应的进程管理命令是systemctl。 + +- start 启用 +- stop 停止 +- restart 重启 +- reload 重载(仅配置文件) +- status 状态 +- enabled 开机自启动 +- disabled 禁用 +- `+ `已启动 +- `-` 未启动 + +!!!查看所有运行的服务状态 + +- service --status-all(简易版)符号 +- systemctl list-unit-files(详细版)英文 + +作业: + +- 使Nginx和Apache服务共存 + 1. 安装Apache之前,先关闭Nginx服务 + 2. 使用sudo apt update更新资源 + 3. 安装Apache,使用sudo apt-get install apache2 + 4. 在/etc/apache2/下,更改ports.conf文件的80端口为8080端口 + 5. 并且/etc/apache2/sites-enabled/下,更改000-default.conf也为8080端口 + 6. 使用systemctl restart Apache,重载配置文件 + 7. 此时,使用systemctl start Nginx即可开启Nginx服务 \ No newline at end of file -- Gitee