进程管理死死的学

进程管理

文件属性 chattr【扩展】

chattr

chattr +i 文件名 # 添加权限
+a 可追加,不可修改
+i 只可查看
+A 不修改访问时间
charrt -i 文件名 # 取消权限
-R 递归处理,将指令目录下的所有文件及子目录一并处理;

lsattr 查看文件属性

lsattr 文件名1 文件名2 文件名3

touch 创建文件

touch 文件1 文件2 文件3

进程管理

关于进程 process
What is a process? 什么是进程
进程是已启动的可执行程序的运行实例,是程序运行的过程,动态的,有生命周期及运行状态。

查看进程 process
查看静态进程

ps

ps aux | less
ps :process nsapashot
-a 只查看占用终端的进程
-u 显示进程名和pid
-x  显示所有的进程
-f 显示进程之间的父子关系
[root@linux-server ~]# ps aux 
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
============================================================================
USER: 	#运行进程的用户
PID:   #进程ID
%CPU:   #CPU占用率
%MEM:   #内存占用率
VSZ	    进程占用的虚拟内存大小。
RSS     占用的物理内存大小
STAT:  #进程状态  ---了解
? 			 表示没有占用终端
R 	    	运行
S 			可中断睡眠 Sleep
D 		不可中断睡眠
T 			停止的进程 
Z 				僵尸进程
X  		死掉的进程
START:	#进程的启动时间
TIME:	#进程占用CPU的总时间
COMMAND: #进程文件,进程名

进程状态--了解
Sl	以线程的方式运行
Ss  s进程的领导者,父进程
R+	+表示是前台的进程组
S< <优先级较高的进程 	
SN  N优先级较低的进程
查看tty的方法:
[root@linux-server ~]# tty
? 表示这个进程开启的时候没有占用终端

ps

ps -ef
-e 显示所有的进程
-l 长格式显示
-f 完整格式

在这里插入图片描述

UID		用户id
PID		进程id
PPID	父进程id
C			CPU占用率
STIME	开始时间
TTY		开始此进程的tty——终端设备
TIME	此进程运行的时间
CMD	命令名
查看单个PID

cat

[root@linux-server ~]# yum install -y httpd  #安装apache软件
[root@linux-server ~]# systemctl start httpd #启动
[root@linux-server ~]# cat /var/run/httpd/httpd.pid
1043

pidof and pgrep

pidof  httpd
pgrep  httpd
# 与上面同效果,这个比较好用点儿
查看端口号

lsof

yum install -y lsof # 下载lsof
lsof -i:80 # 端口号,可以直接查看此端口的进程

netstat

netstat -lntp
-a  显示全部的进程
-u  显示udp
-n  以数字的新式显示协议名称 否则 协议名称
-t   tcp
-p:显示进程的名称和pid
-l :只显示正在被监听的端口

w

w  #看已经登陆到终端的进程信息,远程登陆会有ip 地址
动态查看进程

top

top  #动态显示信息,三秒刷新一次。

在这里插入图片描述

在工作中必须监控的东西 load average(平均负载)等待cpu处理的队列长度 也是个数。
1分钟   第一个数字
5分钟   第二个数字
15分钟  第三个数字
======================
计算cpu负载:load average的三个值: 0.10, 0.16, 0.12,分别除cpu的个数,得出的值,如果值大于1那么那时候的负载高。

top操作

[root@linux-server ~]# top
h|? 帮助
> 往下翻页
< 往上翻页
M 按内存排序
P 按cpu排序
q 退出   
z 彩色显示
W 保存
=====================================
PR   优先级
VIRT 进程使用的虚拟内存总量,单位kb。
RES  进程使用的、未被换出的物理内存大小,单位kb。
SHR  共享内存大小,单位kb

在这里插入图片描述

us: 用户态进程占用cpu
ni: nice值  值越大,优先级越大
id: cpu空闲率
wa: cpu等待,等待输入/输出的进程占用的 CPU 百分比。如果使用率过高,表示硬盘该换了
hi:硬中断,请求插队
si:软中断
st:停止

进程优先级nice

nice 值越高:表示优先级越低,例如+19,该进程容易将CPU 使用量让给其他进程。
nice 值越低:表示优先级越高,例如-20,该进程更不倾向于让出CPU。

renice 修改进程优先级

renice -n -10  pid

进程控制

杀死进程

可以使用 kill 和 pkill

kill
kill -9 222  # 强制杀死进程号为 222 的进程
-1   HUP  重新加载进程或者重新加载配置文件,PID不变   
-9   KILL 强制杀死
-15  TERM 正常杀死(这个信号可以默认不写)
-18  CONT 激活进程
-19  STOP 挂起进程
这几个是正常使用的
pkill
pkill httpd # 直接杀死此服务 
# 这个的话,似乎也可以使用上面的那些参数
-1 重新加载进程或者重新加载配置文件 PID不变
-9 强制杀死
-15 正常杀死(可以默认不写)
-18 激活即成
-19 挂起进程

作业控制

作业控制之jobs
# sleep 300 & # 后台睡300s
# jobs
[1]+  运行中               sleep 300 &
# bg %1 # 将工作号为1的进程调到后台
# fg %1 # 将工作好为1的进程调到前台

常用命令

utime—查看当前CPU负载
# uptime 
 17:35:01 up 16:02,  3 users,  load average: 0.00, 0.02, 0.05

17:35:01-up --16:02,---- 3 users, - load average: -----0.00, -------- 0.02, ------------0.05
当前时间 — 运行时长- 三个终端 ----- cpu负载 --1分钟平均负载 5分钟平均负载 15分钟平均负载

查看内存使用-free
# free -m 
              total        used        free      shared  buff/cache   available
Mem:           1984         154        1508           8         321        1632
Swap:          2047           0        2047

-m:单位M
# 相对来说下面这个更直观一点儿

# free -h
              total        used        free      shared  buff/cache   available
Mem:           966M        567M         57M         24M        342M        296M
Swap:          2.1G        397M        1.7G
查看系统的版本和内核 – uname
# cat /etc/redhat-release  #查看版本
CentOS Linux release 7.4.1708 (Core)
# uname -a #看查正在运行的内核版本
Linux linux-server 3.10.0-693.el7.x86_64 #1 SMP Tue  Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
# uname -r  #查看内核版本
3.10.0-693.el7.x86_64
修改主机名
# hostnamectl set-hostname ‘主机名’
# hostnamectl 
   Static hostname: xiaolinxi
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 96ebd45edeba4f35ae5b7233b747318e
           Boot ID: bd483aa3c9af4da58c03afee756ece3f
    Virtualization: vmware
  Operating System: CentOS Linux 7 (AltArch)
       CPE OS Name: cpe:/o:centos:centos:7:server
            Kernel: Linux 5.11.12-300.el7.aarch64
      Architecture: arm64
# hostname
xiaolinxi

背诵:

linux启动过程

1加电,2加载bios设置,3加载grub,4加载内核系统到内存当中,
5加载配置文件,6加载内核模块,7完成相应的初始化工作和启动相应的服务,
8启动系统进程,9出现登录界面,10开机启动完成

#### 安装过操作系统吗?怎么安装?

1.小批量设备,使用U盘安装
(调整bios参数从U盘启动)
2.大批量设备搭建PXE装机系统,从网络批量安装
(调整网络启动项,从网络启动)

#### 进程和线程的区别可以简洁地概括如下:
  • 进程是独立的执行实体,拥有独立的资源,而线程是在进程内部运行的,共享进程的资源。
  • 创建和销毁进程的开销较大,而线程的创建和销毁相对较轻量级。
  • 进程间的切换开销较大,线程间的切换开销较小。
  • 进程之间通信和同步需要使用操作系统提供的机制,线程间通过共享内存等方式进行通信和同步。
  • 进程间相互独立,一个进程的崩溃不会影响其他进程,而线程共享同一个进程的资源,一个线程的错误可能导致整个进程崩溃。

简而言之,进程是独立的,资源独立,切换开销大;线程是共享的,资源共享,切换开销小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值