Skip to content

[Linux系列] - 5.系统管理

2024-08-02

进程管理

判断服务器健康状态 
查看所有进程 
杀死进程(并非经常结束的上上策)

1. 进程查看

bash
ps aux
ps -ls
\-a                                 # 显示所有,除了会话连线
\-u                                 # 显示进程的归属用户及内存使用情况
\-x                                 # 显示没有控制终端的进程
\-l                                 # 长格式显示,更详细
\-e                                 # 显示所有,同a

pstree                              # 查看进程树

2. 健康状态

top

?查看帮助,可以查看到如何进行交互
基本信息,任务,CPU,缓冲(写入硬盘),缓存(写入内存)

3. 杀死进程

bash
kill                                # 杀死单一进程
kill -l                             # 查看信号列表
\-1                                 # 重新读取配置文件,平滑重启
\-9                                 # 强制终止

killall -选项 信号 进程名
\-i                                 # 交互
\-l                                 # 忽略进程大小写

pkill -t                            # 按终端号清除

4. 进程优先级

bash
nice
renice

工作管理

bash
&                                   # 放入后台执行
Ctrl+z                              # 放在后台暂停

jobs -l                             # 查看运行在后台的服务

fg %工作号                           # 后台暂停的工作恢复到前台,注意工作号与PID的区别
bg %工作号                           # 后台暂停的工作恢复到后台执行,任务不能交互,不然失败

nohup 命令 &                         # 后台命令脱离终端

资源管理

1.系统信息

bash
uname -a                            # 查看内核/操作系统/CPU信息
cat /etc/issue                      # 查看操作系统版本
cat /proc/version                   # 包含GCC的版本信息
cat /proc/cpuinf                    # 查看CPU信息
hostname                            # 查看计算机名
lspci -tv                           # 列出所有PCI设备
lsusb -tv                           # 列出所有USB设备
lsmod                               # 列出加载的内核模块
env                                 # 查看环境变量
w                                   # 查看活动用户
last                                # 查看上次登录用户

2.查看磁盘占用

bash
df -hl                              # 查看磁盘剩余空间
df -h                               # 查看每个根路径的分区大小
du -sh [目录名]                      # 返回该目录的大小
du -sm [文件夹]                      # 返回该文件夹总M数
du -h [目录名]                       # 查看指定文件夹下的所有文件大小(包含子文件夹)

free -m                             # 查看内存使用量和交换区使用量
uptime                              # 查看系统运行时间、用户数、负载
cat /proc/loadavg                   # 查看系统负载

计划任务

1.at

bash
chkconfig --list | grep atd         # at服务是否安装
service atd restart                 # at服务的启动
service atd status                  # 服务运行状态

apt-get install at                  # ubuntu上安装at
at now +5 minutes                   # 5分钟后执行at
atq                                 # 查看at后台命令
at -c [工作号]

2.手工定时任务

bash
pgrep cron                          # 判断cron服务是否启动
apt-get install cron                # 判断cron服务是否安装
service cron start                  # 启动cron服务

crontab -e                          # 编辑当前用户的计划任务文件 绑定终端
crontab -l                          # 显示当前用户的计划任务文件
crontab -r                          # 删除当前用户的计划任务文件

/etc/init.d/cron restart            # 编辑保存完成后,重启cron服务

# 语法
m h dom mon dow   command
0-59 0-23 1-31 1-12 0-7  command
m:          表示分钟
h:          表示小时
dom:        表示日期
mon:        表示月份
dow:        表示星期
command:    预执行的命令
*           代表所有值
/           代表“每”
-           代表范围
,           分割数字

3.系统定时任务

bash
/etc/crontab                        # 更好管理

4.anacron

bash
/var/spool/anacron                  # 这里会记录系统定时任务执行的时间
/etc/anacrontab                     # 真正定期执行执行的命令

花海相伴