进程线程类

进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。

ps 查看当前系统进程状态

1
2
ps aux | grep xxx		(功能描述:查看系统中所有进程)
ps -ef | grep xxx (功能描述:可以查看子父进程之间的关系)

-a 选择所有进程
-u 显示所有用户的所有进程
-x 显示没有终端的进程

ps aux显示信息说明


USER:该进程是由哪个用户产生的
PID:进程的ID号
%CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源;
%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;
VSZ:该进程占用虚拟内存的大小,单位KB;
RSS:该进程占用实际物理内存的大小,单位KB;
TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端。
STAT:进程状态。常见的状态有:R:运行、S:睡眠、T:停止状态、s:包含子进程、+:位于后台
START:该进程的启动时间
TIME:该进程占用CPU的运算时间,注意不是系统时间
COMMAND:产生此进程的命令名

ps -ef显示信息说明


UID:用户ID
PID:进程ID
PPID:父进程ID
C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高
STIME:进程启动的时间
TTY:完整的终端名称
TIME:CPU时间
CMD:启动进程所用的命令和参数

经验

如果想查看进程的CPU占用率和内存占用率,可以使用aux;
如果想查看进程的父进程ID可以使用ef;

kill 终止进程

1
2
kill  [选项] 进程号	(功能描述:通过进程号杀死进程)
killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)

-9 表示强迫进程立即停止

top 查看系统健康状态

1
top [选项]

-d 秒数 指定top命令每隔几秒更新。默认是3秒在top命令的交互模式当中可以执行的命令:
-i 使top不显示任何闲置或者僵死进程。
-p 通过指定监控进程ID来仅仅监控某个进程的状态。

操作说明

P 以CPU使用率排序,默认就是此项
M 以内存的使用率排序
N 以PID排序
q 退出top

查询结果字段解释

  • 第一行信息为任务队列信息
  • 第二行为进程信息
  • 第三行为CPU信息
  • 第四行为物理内存信息
  • 第五行为交换分区(swap)信息

netstat 显示网络统计信息和端口占用情况

1
2
netstat -anp |grep 进程号	    (功能描述:查看该进程网络信息)
netstat -nlp | grep 端口号 (功能描述:查看网络端口号占用情况)

-n 拒绝显示别名,能显示数字的全部转化成数字
-l 仅列出有在listen(监听)的服务状态
-p 表示显示哪个进程在调用

crond 系统定时任务

crond 服务管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@hadoop100 ~]# service crond restart
Redirecting to /bin/systemctl restart crond.service
[root@hadoop100 ~]# systemctl status crond
● crond.service - Command Scheduler
Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
Active: active (running) since 一 2023-05-22 22:44:56 CST; 16s ago
Main PID: 3383 (crond)
Tasks: 1
CGroup: /system.slice/crond.service
└─3383 /usr/sbin/crond -n

522 22:44:56 hadoop100 systemd[1]: Started Command Scheduler.
522 22:44:56 hadoop100 systemd[1]: Starting Command Scheduler...
522 22:44:56 hadoop100 crond[3383]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 23% if used.)
522 22:44:56 hadoop100 crond[3383]: (CRON) INFO (running with inotify support)
522 22:44:56 hadoop100 crond[3383]: (CRON) INFO (@reboot jobs will be run at computer's startup.)
[root@hadoop100 ~]#

crontab 定时任务设置

1
crontab [选项]

-e 编辑crontab定时任务
-l 查询crontab任务
-r 删除当前用户所有的crontab任务

  • 进入crontab编辑界面。会打开vim编辑你的工作
    * * * * * 执行的任务

  • 特殊符号

-特定时间执行命令

软件包管理

RPM

RPM查询命令(rpm -qa)

1
rpm -qa				(功能描述:查询所安装的所有rpm软件包)
  • 经验
    由于软件包比较多,一般都会采取过滤。rpm -qa | grep rpm软件包

RPM卸载命令(rpm -e)

1
2
rpm -e RPM软件包   
rpm -e --nodeps 软件包

-e 卸载软件包
—nodeps 卸载软件时,不检查依赖。这样的话,那些使用该软件包的软件在此之后可能就不能正常工作了。

RPM安装命令(rpm -ivh)

1
rpm -ivh RPM包全名

-i -i=install,安装
-v -v=verbose,显示详细信息
-h -h=hash,进度条
—nodeps —nodeps,不检测依赖进度

YUM仓库配置

YUM的常用命令

1
yum [选项] [参数]

-y 对所有提问都回答“yes”

修改网络YUM源

原来的配置会根据你的地理位置选择最近的源,所以此项可以不用配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91

# YUM 源文件配置文件存储的位置 /etc/yum.repos.d/ #
[root@hadoop100 ~]# cd /etc/yum.repos.d/
[root@hadoop100 yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo epel-testing.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo epel.repo


# yum 安装工具 wget #
[root@hadoop100 yum.repos.d]# yum install wget
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* epel: mirrors.bfsu.edu.cn
* extras: mirrors.bfsu.edu.cn
* updates: mirrors.163.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 wget.x86_64.0.1.14-15.el7_4.1 将被 升级
---> 软件包 wget.x86_64.0.1.14-18.el7_6.1 将被 更新
--> 解决依赖关系完成

依赖关系解决

======================================================================================================================
Package 架构 版本 源 大小
======================================================================================================================
正在更新:
wget x86_64 1.14-18.el7_6.1 base 547 k

事务概要
======================================================================================================================
升级 1 软件包

总计:547 k
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在更新 : wget-1.14-18.el7_6.1.x86_64 1/2
清理 : wget-1.14-15.el7_4.1.x86_64 2/2
验证中 : wget-1.14-18.el7_6.1.x86_64 1/2
验证中 : wget-1.14-15.el7_4.1.x86_64 2/2

更新完毕:
wget.x86_64 0:1.14-18.el7_6.1

完毕!



# 备份原来的配置文件 #
[root@hadoop100 yum.repos.d]# cp CentOS-Base.repo CentOS-Base.repo_$(date +%F_%T)
[root@hadoop100 yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Sources.repo epel-testing.repo
CentOS-Base.repo_2023-05-22_23:04:45 CentOS-fasttrack.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-Media.repo epel.repo


# 使用 wget 工具获取 网易的镜像配置文件 #
[root@hadoop100 yum.repos.d]# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
--2023-05-22 23:06:28-- http://mirrors.163.com/.help/CentOS7-Base-163.repo
正在解析主机 mirrors.163.com (mirrors.163.com)... 117.147.202.12
正在连接 mirrors.163.com (mirrors.163.com)|117.147.202.12|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1572 (1.5K) [application/octet-stream]
正在保存至: “CentOS7-Base-163.repo”

100%[============================================================================>] 1,572 --.-K/s 用时 0s

2023-05-22 23:06:28 (108 MB/s) - 已保存 “CentOS7-Base-163.repo” [1572/1572])

[root@hadoop100 yum.repos.d]# ls
CentOS7-Base-163.repo CentOS-CR.repo CentOS-Media.repo epel.repo
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Sources.repo epel-testing.repo
CentOS-Base.repo_2023-05-22_23:04:45 CentOS-fasttrack.repo CentOS-Vault.repo

# 删除原来的配置文件 #
[root@hadoop100 yum.repos.d]# rm -rf CentOS-Base.repo

# 将刚才下载的网易的配置文件改名为原来的配置文件名 #
[root@hadoop100 yum.repos.d]# mv CentOS7-Base-163.repo CentOS-Base.repo
[root@hadoop100 yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Sources.repo epel-testing.repo
CentOS-Base.repo_2023-05-22_23:04:45 CentOS-fasttrack.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-Media.repo epel.repo

# yum makecache就是把服务器的包信息下载到本地电脑缓存起来#
[root@hadoop100 yum.repos.d]# yum clean all && yum makecache