diff --git "a/03\351\222\237\347\211\241\344\270\271/\347\254\224\350\256\260/2024-3-20-\350\277\233\347\250\213\347\256\241\347\220\206.md" "b/03\351\222\237\347\211\241\344\270\271/\347\254\224\350\256\260/2024-3-20-\350\277\233\347\250\213\347\256\241\347\220\206.md" new file mode 100644 index 0000000000000000000000000000000000000000..4cc0ac12989f111a1b05ef0a69c808002fd00328 --- /dev/null +++ "b/03\351\222\237\347\211\241\344\270\271/\347\254\224\350\256\260/2024-3-20-\350\277\233\347\250\213\347\256\241\347\220\206.md" @@ -0,0 +1,88 @@ +# 进程管理 + +进程是计算机钟正在运行的程序的实例。 + +## 进程的状态 + +运行态(Running):进程正在运行 +就绪态(Ready):进程准备运行但还未获得CPU时间 +阻塞态(Wait):进程阻塞等待某个事件发生 + +## 进程调度 + +- 调度器根据进程的调度策略和优先级来决定进程的执行顺序。 +- 常见的调度算法包括先来先服务(FCFS)、短作业优先(SJF)、轮转调度(RR)等。 + +## 进程控制 + +- kill命令可以发送信号给指定进程,用来终止、挂起、继续进程等。 +- nice命令可以设置进程的优先级,调整进程在系统中的执行优先级。 +- ps命令可以查看系统中运行的进程信息,包括进程ID、状态、CPU使用情况等。 + +## 进程通信 + +- 进程间通信(IPC)是不同进程之间交换数据和信息的一种方式,常见的方式包括共享内存、信号量、消息队列等。 +- Linux提供了多种IPC机制,如管道、信号、共享内存、套接字等,用于实现进程之间的数据传递和同步。 + +## 显示系统执行的进程 + +#### ps命令 + +各种选项: + +- -e 显示所有进程,包括其他用户的进程 +- -f 显示进程的详细信息,包括进程的PID、父进程的PID、进程状态等 +- -u 显示指定用户的进程 +- ps -aux :显示所有用户的所有进程 +- ps -ef :以完整格式显示所有进程 +- ps -e --forest : 以树形结构显示进程关系 + +#### top 命令 + +用于实时监控系统的进程和系统资源使用情况,以交互式显示进程列表 + +top命令用于实时显示系统中运行的进程信息,包括CPU占用情况、内存占用情况、进程PID等。 + +示例: + +``` +$ top +``` + +## 终止进程 + +### kill 命令 + +kill命令用于终止指定进程。可以使用进程的PID或名称来指定要终止的进程。 + +- `kill 1234` 使用进程的PID终止进程 +- `kill -1 PID` 挂起信号,通常用于重启加载进程 +- `kill -2 PID` 中断信号,通常由Ctrl+C发送给前台进程 +- `kill -3 PID` 退出信号,通常由Ctrl+\发送给前台进程 +- `kill -9 5678` 强制终止信号终止进程 + +### pstree命令 + +pstree命令用于显示系统进程的树状结构图,显示进程之间的父子关系。 + +示例: + +``` +$ pstree +init─┬─NetworkManager───2*[{NetworkManager}] + ├─accounts-daemon───2*[{accounts-daemon}] + ├─acpid + ├─avahi-daemon───avahi-daemon + ├─bluetoothd + ... +``` + +### htop命令 + +htop命令是一个交互式的进程查看器,可以显示系统中运行的进程并提供更多的操作选项。 + +示例: + +``` +$ htop +``` diff --git "a/03\351\222\237\347\211\241\344\270\271/\347\254\224\350\256\260/2024-6-22\346\234\215\345\212\241\347\256\241\347\220\206.md" "b/03\351\222\237\347\211\241\344\270\271/\347\254\224\350\256\260/2024-6-22\346\234\215\345\212\241\347\256\241\347\220\206.md" new file mode 100644 index 0000000000000000000000000000000000000000..02be3550307eea0ee18328a1101a59aad8f415d4 --- /dev/null +++ "b/03\351\222\237\347\211\241\344\270\271/\347\254\224\350\256\260/2024-6-22\346\234\215\345\212\241\347\256\241\347\220\206.md" @@ -0,0 +1,117 @@ +# 2024-6-22服务管理 + +是一个后台运行的进程,通常监听某个端口,等待其他程序的请求,如MySQL、sshd、防火墙等,也成为守护进程。使用service或systemctl命令来管理服务。 + +- 程序: 指应用程序 +- 进程:操作系统钟运行的程序,是动态的 +- 服务:是一种程序,在后台运行,响应用户或其他程序的请求,提供某种功能的程序Nginx响应用户的http请求,提供web服务。HTML、MySQL响应3306提供给数据库服务ssh + +## 管理服务 + +### 使用service命令管理系统服务 + +- service命令是使用system V 作为init系统的Linux 发行版中用来控制系统服务的实用工具 + +- service的作用是去 /etc/init.f 目录下寻找相应的服务,可以启动、停止、重启系统服务,还可以 显示所有系统服务的当前状态 + +- service是一个shell脚本文件,你可以使用命令 cat 查看其中的脚本源码内容 + +- service命令文件所在位置 + + ``` + which service + + /usr/sbin/service + ``` + +- 查看 service 的文件类型 + + ``` + file /usr/sbin/service + ``` + + 查看service 文件的属性 + + ``` + ll /usr/sbin/service + ``` + +命令用法 + +- 启动服务 + + ``` + service mysqld start + + 或者 /etc/init.d/mysqld start + + 说明:mysqld 在目录 /etc/init.d/下是一个bash 脚本文件 + start是一个命令选项 + ``` + +- 停止服务 + + ``` + service mysqld stop + ``` + +- 重启服务 + + ``` + service mysqld restart + ``` + +- 重加载配置 reload + +- 查看状态 + + ``` + service mysqld status + ``` + + ### 使用systemctl命令管理系统服务 + +systemd是Linux系统最新的初始化系统(init),作用是提高系统的启动速度,尽可能启动较少的进程,尽可能更多进程并发启动。 +systemd对应的进程管理命令是systemctl + +- 启动、停止、重启服务 + + ``` + systemctl start 服务名 + + systemctl stop 服务名 + + systemctl restart 服务名 + ``` + +- 重新加载服务配置文件 + + ``` + systemctl reload 服务名 + ``` + +- 查看服务状态 + + ``` + systemctl status 服务名 + ``` + +- 设置或禁止服务开机自启动 + + ``` + systemctl enable 服务名 + ``` + +- 查看 服务是否是开机自启动 + + ``` + systemctl is-enabled 服务名 + ``` + + 查看各个启动级别下服务的开机启动与禁用情况 + + ``` + systemctl list-unit-files + ``` + + \ No newline at end of file diff --git "a/03\351\222\237\347\211\241\344\270\271/\347\254\224\350\256\260/2024-6-25 \347\275\221\347\273\234\345\256\211\345\205\250.md" "b/03\351\222\237\347\211\241\344\270\271/\347\254\224\350\256\260/2024-6-25 \347\275\221\347\273\234\345\256\211\345\205\250.md" new file mode 100644 index 0000000000000000000000000000000000000000..ded09a4c5783537fd98c10fc92095aa808806518 --- /dev/null +++ "b/03\351\222\237\347\211\241\344\270\271/\347\254\224\350\256\260/2024-6-25 \347\275\221\347\273\234\345\256\211\345\205\250.md" @@ -0,0 +1,61 @@ +# 2024-6-25 网络安全 + +## 如何添加新服务 + +``` +systemctl daemon -reload +``` + +当新增或修改service文件时,需要系统重新加载所有修改过的配置文件 + +## ss命令 + +- ``` + ss - tunl //以数字端口的形式显示正在监听的TCP和UDP的端口 + ``` + + + +- ``` + ss - tuna //以数字的形式显示所有TCP和UDP的端口 + ``` + +- -a 所有 + +- -t tcp协议 + +- -p 进程相关信息 + +- tranceroute + +## 如何通过进程号反查服务名 + +``` +- ps -ef |grep 进程号 +- ps -aux|grep 进程号 +- ss -p |grep 进程号 +``` + +## 结束服务所有进程 + +``` +killall 服务名 //严格匹配服务名 +pkill -9 服务名 //先模糊查询,再结束进程 +``` + +## 网络安全 + +- 端口安全,禁用非法访问端口,只允许指定的端口开放 +- 防火墙:Firewarll 一种访问机制一种访问规则,相当于一个门卫、安全组 +- Redhat + - rpm包,yum工具安装软件 + - iptables --》 firewall (7以上) +- Debian + - dep包 apt根据安装软件 + - ufw +- 防火墙 :不被允许的 默认禁止的 + - 开启:ufw allow + - 查看状态:ufw status + - 禁用:ufw deny 协议|端口|协议/端口 + - 重新加载新配置:ufw reload + - 删除:ufw delete 第几个(先查看状态再删除) \ No newline at end of file