新增多篇Linux技术文档,涵盖基础命令、文件操作、用户权限、网络配置、进程管理、软件安装、系统监控和磁盘管理等主题。每篇文档包含详细命令示例和使用说明,适合作为Linux系统管理参考手册。 文档内容包含: 1. Linux基础命令与快捷键 2. 文件操作与查找技巧 3. 用户管理与权限配置 4. 网络配置与防火墙管理 5. 进程与服务管理方法 6. 软件包管理与安装 7. 系统资源监控命令 8. 磁盘分区与LVM管理
156 lines
2.5 KiB
Markdown
156 lines
2.5 KiB
Markdown
---
|
||
title: Linux进程与服务管理
|
||
date: 2021-04-07 16:04:58
|
||
author: 文永达
|
||
top_img: https://gcore.jsdelivr.net/gh/volantis-x/cdn-wallpaper/abstract/00E0F0ED-9F1C-407A-9AA6-545649D919F4.jpeg
|
||
tags: [Linux, Shell, 进程管理]
|
||
categories: [操作系统, Linux]
|
||
---
|
||
|
||
# Linux进程与服务管理
|
||
|
||
## 进程管理
|
||
|
||
### ps 命令
|
||
|
||
查看进程状态。
|
||
|
||
```shell
|
||
# 查看前台进程
|
||
ps
|
||
|
||
# 查看所有进程详细信息
|
||
ps -aux
|
||
|
||
# 查看所有进程详细信息(含父进程ID)
|
||
ps -ef
|
||
```
|
||
|
||
**输出字段说明**:
|
||
|
||
| 字段 | 说明 |
|
||
|-----|------|
|
||
| UID | 用户 |
|
||
| PID | 进程ID |
|
||
| PPID | 父进程ID |
|
||
|
||
> 父进程ID为1表示系统进程。
|
||
|
||
### top 命令
|
||
|
||
动态显示进程状态。
|
||
|
||
```shell
|
||
top
|
||
```
|
||
|
||
### 查找特定进程
|
||
|
||
```shell
|
||
# 查看所有进程并搜索指定进程
|
||
ps -aux | grep network
|
||
```
|
||
|
||
### kill 命令
|
||
|
||
根据 PID 终止进程。
|
||
|
||
```shell
|
||
# 终止进程
|
||
kill PID
|
||
|
||
# 强制终止进程
|
||
kill -9 PID
|
||
```
|
||
|
||
---
|
||
|
||
## 服务管理
|
||
|
||
### systemctl 命令
|
||
|
||
操作系统服务。
|
||
|
||
**基本语法**:
|
||
|
||
```shell
|
||
systemctl [操作] 服务名
|
||
```
|
||
|
||
**常用操作**:
|
||
|
||
| 操作 | 说明 |
|
||
|-----|------|
|
||
| `status` | 查看服务状态 |
|
||
| `stop` | 终止服务 |
|
||
| `start` | 启动服务 |
|
||
| `restart` | 重启服务 |
|
||
| `enable` | 设置开机自启 |
|
||
| `disable` | 禁用开机自启 |
|
||
|
||
**示例**:
|
||
|
||
```shell
|
||
# 查看MySQL服务状态
|
||
systemctl status mysqld
|
||
|
||
# 启动网络服务
|
||
systemctl start network
|
||
|
||
# 设置服务开机自启
|
||
systemctl enable mysqld
|
||
|
||
# 启动并设置开机自启
|
||
systemctl enable --now mysqld
|
||
```
|
||
|
||
### 常见服务名称
|
||
|
||
| 服务 | 服务名 |
|
||
|-----|------|
|
||
| 网络服务 | `network` |
|
||
| 防火墙服务 | `firewalld` |
|
||
| MySQL | `mysqld` |
|
||
| Containerd | `containerd` |
|
||
| BuildKit | `buildkit` |
|
||
|
||
---
|
||
|
||
## 网络状态
|
||
|
||
### netstat 命令
|
||
|
||
查看网络连接状态。
|
||
|
||
```shell
|
||
# 查看监听中的端口
|
||
netstat -lnp | grep 8080
|
||
```
|
||
|
||
**参数说明**:
|
||
|
||
| 参数 | 说明 |
|
||
|-----|------|
|
||
| `-l` | 显示监控中的服务器的 Socket |
|
||
| `-n` | 直接使用 IP 地址,不通过域名服务器 |
|
||
| `-p` | 显示正在使用 Socket 的程序识别码和名称 |
|
||
|
||
---
|
||
|
||
## Shell脚本
|
||
|
||
### shebang 说明
|
||
|
||
Shell 脚本开头通常包含 `#!/bin/bash`,这行称为 **shebang** 或 **hashbang**。
|
||
|
||
```shell
|
||
#!/bin/bash
|
||
|
||
echo 'Hello, World!'
|
||
```
|
||
|
||
**作用**:告诉系统使用 `bash` 作为脚本的解释器,无需在运行时指定。
|
||
|
||
**注意事项**:
|
||
- `#!` 和 `/bin/bash` 之间的空格无关紧要
|
||
- 使用 `#!/bin/zsh` 表示使用 zsh 解释器 |