云计算 2月26号 (进程管理和常用命令)

一、权限扩展

文件权限管理之: 隐藏权限防止root误删除

文件属性添加与查看
[root@linux-server ~]# touch file1 file2 file3
1.查看文件属性
[root@linux-server ~]# lsattr file1 file2 file3 
---------------- file1
---------------- file2
---------------- file3
2.设置权限
[root@linux-server ~]# chattr +a file1  #不允许修改,只允许追加
[root@linux-server ~]# chattr +i file2  #不允许做任何操作
[root@linux-server ~]# chattr +A file3
[root@linux-server ~]# lsattr file1 file2 file3
-----a---------- file1
----i----------- file2
-------A-------- file3
i:即Immutable,系统不允许对这个文件进行任何的修改
a:即Append Only,系统只允许在这个文件之后追加数据,不允许任何覆盖这个文件
A:即Atime,告诉系统不要修改对这个文件的最后访问时间
测试效果
[root@linux-server ~]# echo 111 > file1  #覆盖,只允许追加
-bash: file1: Operation not permitted
[root@linux-server ~]# rm -rf file1     #不能删除
rm: cannot remove ‘file1’: Operation not permitted
[root@linux-server ~]# echo 111 >> file1 #追加
​
[root@linux-server ~]# echo 111 > file2
-bash: file2: Permission denied
[root@linux-server ~]# echo 111 >> file2
-bash: file2: Permission denied
[root@linux-server ~]# rm -rf file2
rm: cannot remove ‘file2’: Operation not permitted
[root@linux-server ~]# mv file2 file4
mv: cannot move ‘file2’ to ‘file4’: Operation not permitted
​
取消权限
[root@linux-server ~]# chattr -a file1 
[root@linux-server ~]# chattr -i file2
二、进程管理
关于进程 process
What is a process?  什么是进程
Process states  进程状态
什么是进程?
进程是已启动的可执行程序的运行实例,是程序运行的过程,动态的,有生命周期及运行状态。程序: 二进制文件,静态 /bin/date, /usr/sbin/httpd,/usr/sbin/sshd, /usr/sbin/nginx
查看进程 process

静态查看进程

[root@linux-server ~]# ps aux | less
参数解释:
ps :process nsapashot
a 只能查看系统里面运行的所有终端进程
u 显示进程拥有者
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
? 表示这个进程开启的时候没有占用终端

查看进程(二)

[root@linux-server ~]# ps -ef
参数解释:
-e 显示所有进程
-l 长格式显示
-f 完整格式

UID       用户ID
PID       进程ID
PPID      父进程ID
C         CPU占用率
STIME     开始时间
TTY       开始此进程的TTY----终端设备
TIME      此进程运行的总时间
CMD       命令名

查看单个PID

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

查看指定PID

[root@linux-server ~]# ps aux | grep sshd
root       1043  0.0  0.2 105996  4120 ?        Ss   01:32   0:00 /usr/sbin/sshd -D
grep:过滤

查看端口

[root@linux-server ~]# yum install lsof  #安装软件包
[root@linux-server ~]# lsof -i:80   #端口号,这能查看带端口的进程
COMMAND   PID   USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
httpd   64249   root    4u  IPv6 1373628      0t0  TCP *:http (LISTEN)
​
#注意:端口号只有整数,范围是从0 到65535
参数解释:
FD:文件描述符,应用程序通过文件描述符识别该文件。
DEVICE:指定磁盘的名称
SIZE:文件的大小
#查网络进程和正在监听的端口
[root@linux-server ~]# netstat -lntp
参数详解:
-a  显示全部的进程
-u  显示udp
-n  以数字的新式显示协议名称
-t   tcp
-p:显示进程的名称和pid
-l :只显示正在被监听的端口
​
参数解释:
recv-Q:网络接收队列
send-Q:网路发送队列
Foreign Address:与本机端口通信的外部请求[root@linux-server ~]# w  #看已经登陆到终端的进程信息,远程登陆会有ip 地址
​
部分参数解释:
USER –登录用户名.
TTY –登录用户使用的终端名.
FROM –登录用户来源的主机名或IP地址.
LOGIN@ –用户登录时间.
WHAT –用户当前的进程及选项/参数。
动态查看进程

top、htop

[root@linux-server ~]# 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

top - 16:26:45 up 14:54, 3 users,load average: 0.05, 0.06, 0.05 Tasks: 129 total, 2 running, 127 sleeping, 0 stopped, 0 zombie

内容含义
16:26:45表示当前时间
up 14:54系统远行时间,格式为时:分
3 users当前登陆用户数
load average: 0.05, 0.06, 0.05系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值
129 total进程总数
2 running正在运行的进程数
127 sleeping睡眠的进程数
0 stopped停止的进程数
0 zombie僵尸进程数

%Cpu (s) : 0.2 us, 1.0 sy, 0.0 ni, 98.8 id,0.0 wa, 0.0 hi, 0.0 si, 0.0 st

内容含义
0.2 us用户空间占用CPU百分比
1.0 sy内核空间占用CPU百分比
0.0 ni用户进程空间内改变过优先级的进程占用CPU百分比
98.9 id空闲CPU百分比
0.0 wa等待输入输出的CPU时间百分比
0.0 hi硬中断(Hardware IRQ)占用CPU的百分比
0.0 si软中断(Software Interrupts)占用CPU的百分比
0.0 st用于有虚拟cpu的情况,用来指示被虚拟机偷掉的cpu时间

KiB Mem : 2031912 total, 1549816 free, 155372 free, 326724 buff/cache

内容含义
2031912 total物理内存总量
1549816 free使用的物理内存总量
155372 used空闲内存总量
326724 buff/cache用作内核缓存的内存量

KiB Swap: 2097148 total, 2097148 free, 0 used, 1674648 avail Mem

内容含义
2097148 total交换区总量
2097148 free使用的交换区总量
0 used空闲交换区总量
1674648 Avail Mem缓冲的交换区总量
ni: nice值
id: cpu空闲率
wa: cpu等待,等待输入/输出的进程占用的 CPU 百分比。如果使用率过高,表示硬盘该换了
进程优先级 nice
nice 值越高:表示优先级越低,例如+19,该进程容易将CPU 使用量让给其他进程。
nice 值越低:表示优先级越高,例如-20,该进程更不倾向于让出CPU。
指令:
renice <优先级> -p <PID> # 一般不调整
进程控制

按pid杀死进程

kill,pkill
语法: kill 信号 PID   #信号也是进程间通信的一种方式
[root@linux-server ~]# kill -l   #查看所有信号
-1   HUP  重新加载进程或者重新加载配置文件,PID不变
-9   KILL 强制杀死
-15  TERM 正常杀死(这个信号可以默认不写)
-18  CONT 激活进程
-19  STOP 挂起进程

案例一

给vsftpd进程发送信号1,15 vsftpd信号测试

[root@linux-server ~]# yum install -y vsftpd  #安装vsftpd
[root@linux-server ~]# systemctl start vsftpd  #启动
[root@linux-server ~]# ps aux | grep vsftpd
root      59363  0.0  0.0  53212   576 ?        Ss   16:47   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
​
[root@linux-server ~]# kill -1 59363  #发送重启信号,例如vsftpd的配置文件发生改变,希望重新加载
[root@linux-server ~]# ps aux | grep vsftpd
root      59363  0.0  0.0  53212   748 ?        Ss   16:47   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
[root@linux-server ~]# kill 59363 #正常杀死进程,信号为-15可以默认不写。我们可以使用systemctl stop vsftpd 停止服务。
[root@linux-server ~]# ps aux | grep vsftpd
root      62493  0.0  0.0 112660   968 pts/0    S+   16:51   0:00 grep --color=auto vsftpd
​进程状态解释--了解:
+:表示运行在前台的进程
S+:休眠状态
T+:暂停,挂起状态
s:父进程

案例二

给vsftpd进程发送信号-9, vsftpd信号测试

[root@linux-server ~]# systemctl start vsftpd
[root@linux-server ~]# ps aux | grep vsftpd
root      67003  0.0  0.0  53212   572 ?        Ss   16:57   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root      67089  0.0  0.0 112660   972 pts/0    S+   16:57   0:00 grep --color=auto vsftpd
[root@linux-server ~]# kill -9 67003  #强制杀死,一般用于不能正常停止的情况下
[root@linux-server ~]# ps aux | grep vsftpd
root      67190  0.0  0.0 112660   972 pts/0    S+   16:57   0:00 grep --color=auto vsftpd

案例三

使用pkill 杀死vsftpd进程

[root@linux-server ~]# systemctl start vsftpd
[root@linux-server ~]# ps -aux | grep vsftpd
root      73399  0.0  0.0  53212   572 ?        Ss   17:05   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root      73499  0.0  0.0 112660   968 pts/0    S+   17:05   0:00 grep --color=auto vsftpd
[root@linux-server ~]# pkill -9 vsftpd  #使用pkill可以指定进程名字
[root@linux-server ~]# ps -aux | grep vsftpd
root      73643  0.0  0.0 112660   968 pts/0    S+   17:05   0:00 grep --color=auto vsftpd
作业控制

作业控制之jobs:

作业控制指的是控制正在运行的进程的行为。比如,用户可以挂起一个进程或者放到后台去运行,等一会儿再继续执行该进程。

实战案例

[root@linux-server~]# sleep 7000 &   #&:让命令或者程序后台运行
[1] 5441
[root@linux-server ~]# sleep 8000    #ctrl+z 把程序放到后台(这方法会让程序在后台暂停)
^Z
[2]+  Stopped                 sleep 8000
​
[root@linux-server ~]# jobs  #查看后台的工作号
[1]-  Running                 sleep 7000 &
[2]+  Stopped                 sleep 8000
[root@linux-server ~]# bg %2  #让暂停的程序在后台运行,%是用来修饰job number,2就是job number。(程序的工作号)
[2]+ sleep 8000 &
[root@linux-server ~]# jobs 
[1]-  Running                 sleep 7000 &
[2]+  Running                 sleep 8000 &
​
[root@linux-server ~]# fg %1  #将后台的程序调到前台
sleep 7000
​
[root@linux-server ~]# jobs 
[2]+  Running                 sleep 8000 &
[root@linux-server ~]# kill -9 %2  #通过kill杀死进程
[root@linux-server ~]# jobs 
[2]+  Killed                  sleep 8000
[root@linux-server ~]# jobs #在次查看没有了
三、常用命令
查看当前CPU负载
[root@linux-server ~]# uptime 17:35:01 up 16:02,  3 users,  load average: 0.00, 0.02, 0.05
查看内存使用
[root@linux-server ~]# free -m total        used        free      shared  buff/cache   available
Mem:           1984         154        1508           8         321        1632
Swap:          2047           0        2047
​
-m:单位M
linux启动过程
1. 加电
2. 加载bios设置
3. 加载grub,
4. 加载内核系统到内存当中
5. 加载配置文件
6. 加载内核模块
7. 完成相应的初始化工作和启动相应的服务
8. 启动系统进程
9. 出现登录界面
10. 开机启动完成
查看系统的版本和内核
[root@linux-server ~]# cat /etc/redhat-release  #查看版本
CentOS Linux release 7.4.1708 (Core)
[root@linux-server ~]# 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
[root@linux-server ~]# uname -r  #查看内核版本
3.10.0-693.el7.x86_64
修改主机名
[root@linux-server ~]# hostnamectl set-hostname  xxxx   #主机名,修改完之后断开与终端连接,然后在重新连接即可。
查看主机名
[root@linux-server ~]# hostname
跳板机(堡垒机)的作用
1 身份验证
2 屏幕录制,防止员工对服务器做有害的操作
3 批量操作 一次性操作2-200台机器
安装过操作系统吗?怎么安装?
1.小批量设备,使用U盘安装
(调整bios参数从U盘启动)
2.大批量设备搭建PXE装机系统,从网络批量安装
(调整网络启动项,从网络启动)
上传下载
# yum install -y lrzsz
上传
# rz
下载
# sz 文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/266408.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

androidapp的开发流程,王者笔记

昨天去面了一家公司&#xff0c;价值观有受到冲击。 面试官技术方面没的说&#xff0c;他可能是个完美主义的人&#xff0c;无论什么事情到了他那里好像都有解决的方案&#xff0c;我被说的无所适从&#xff0c;感觉他很厉害。 但我不能认可的是&#xff0c;面试官觉得加班是…

测试计划、测试方案、测试策略、测试用例的区别

一 测试计划 测试计划是指描述了要进行的测试活动的范围、方法、资源和进度的文档。它主要包括测试项、被测特性、各阶段的测试任务、时间进度安排&#xff0c;谁执行任务和风险控制等&#xff0c;可以包括测试策略。 二 测试方案 测试方案是指描述需要测试的特性、测试的方…

Docker技术概论(1):Docker与虚拟化技术比较

Docker技术概论&#xff08;1&#xff09; Docker与虚拟化技术比较 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https:…

雾锁王国服务器官方配置要求说明

雾锁王国/Enshrouded服务器CPU内存配置如何选择&#xff1f;阿里云服务器网aliyunfuwuqi.com建议选择8核32G配置&#xff0c;支持4人玩家畅玩&#xff0c;自带10M公网带宽&#xff0c;1个月90元&#xff0c;3个月271元&#xff0c;幻兽帕鲁服务器申请页面 https://t.aliyun.com…

5 局域网基础(3)

1.AAA 服务器 AAA 是验证、授权和记账(Authentication、Authorization、Accounting)3个英文单词的简称&#xff0c;是一个能够处理用户访问请求的服务器程序,提供验证授权以及帐户服务,主要目的是管理用户访问网络服务器&#xff0c;对具有访问权的用户提供服务。AAA服务器通常…

MySQL(基础篇)——事务

一.事务简介 事务是一组操作的集合&#xff0c;他是一个不可分割的单位&#xff0c;事务会把所有的操作作色一个整体一起向系统提交或撤销操作请求&#xff0c;即这些操作要么同时成功&#xff0c;要么同时失败。 默认MySQL的事务是自动提交的&#xff0c;也就是说&#xff0c…

基于Vue3的在线考试系统

TDuckX 是一个功能强大的可私有化部署的在线表单考试平台&#xff0c;可以帮助您轻松创建表单和在线考试。本文档将指导您如何使用 TDuckX 创建您自己的在线考试。 步骤 1&#xff1a;登录账户 完成系统部署后&#xff0c;在浏览器中打开 TDuckX 的网站。 如果您已经拥有账户&…

STM32自学☞AD单通道

程序的最终运行成果: 当转动电位器时&#xff0c;数值和电压值发生变化 ad.c文件 #include "stm32f10x.h" #include "stm32f10x_adc.h" #include "ad.h" #include "stdint.h" void ad_Init(void) { /* 初始化步骤&#xff1a;…

Mybatis-Plus介绍

目录 一、Mybatis-Plus简介 1.1、介绍 1.2、特性 1.3、架构 1.4、Mybatis-Plus与Mybatis的区别 二、快速入门 2.1、首先创建数据库mybatis-plus 2.2、创建user表 2.3、插入数据 2.4、创建Spring-Boot项目 2.5、添加依赖 2.6、连接数据库 一、Mybatis-Plus简介 1.1、…

CPU算力分配【华为OD机试-JAVAPythonC++JS】

题目描述 现有两组服务器A和B&#xff0c;每组有多个算力不同的CPU&#xff0c;其中A[i]是A组第i个CPU的运算能力&#xff0c;B[i]是B组第i个CPU的运算能力。一组服务器的总算力是各CPU的算力之和。为了让两组服务器的算力相等&#xff0c;允许从每组各选出一个CPU进行一次交换…

银河麒麟server-V10配置yum镜像源

1.跳转到yum.repo.d文件夹 cd /etc/yum.repo.d 2.重命名系统镜像源文件 mv kylin_x86_64.repo kylin_x86_64.repo.bak 3.添加新的镜像源 vi kylin.repo [ks10-adv-cdrom] name Kylin Linux Advanced Server 10 - cdrom baseurl file:///run/media/root/Kylin-Server-10…

【STM32】STM32学习笔记-独立看门狗和窗口看门狗(47)

00. 目录 文章目录 00. 目录01. WDG概述02. 独立看门狗相关API2.1 IWDG_WriteAccessCmd2.2 IWDG_SetPrescaler2.3 IWDG_SetReload2.4 IWDG_ReloadCounter2.5 IWDG_Enable2.6 IWDG_GetFlagStatus2.7 RCC_GetFlagStatus 03. 独立看门狗接线图04. 独立看门狗程序示例105. 独立看门…

VUE实现Office文档在线编辑,支持doc/docx、xls/xlsx、ppt/pptx、pdf等

1.微软提供的在线Office预览&#xff08;只能预览&#xff0c;不能编辑&#xff09; https://view.officeapps.live.com/op/view.aspx?src服务器上文档地址&#xff08;http开头&#xff09; 2.国内在线Office方案&#xff1a; 腾讯文档、石墨文档、飞书 优势&#xff1a;跨…

NVIDIA\CUDA\cudnn安装以及visual studio2022编译安装ceres2.2.0库

一、NVIDIA驱动安装 网址:官方驱动 | NVIDIA 因为本文之后需要visual studio2022进行编译&#xff0c;所以在安装NVIDIA\CUDA\cudnn之前你先得安装visual studio2022 点击NVIDIA控制面板&#xff0c;NVIDIA Control Panel 查看产品家族 根据产品家族选择驱动&#xff0c;点…

​LeetCode解法汇总2476. 二叉搜索树最近节点查询

目录链接&#xff1a; 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目&#xff1a; GitHub - September26/java-algorithms: 算法题汇总&#xff0c;包含牛客&#xff0c;leetCode&#xff0c;lintCode等网站题目的解法和代码&#xff0c;以及完整的mode类&#…

Mac 制作可引导安装器

Mac 使用U盘或移动固态硬盘制作可引导安装器&#xff08;以 Monterey 为例&#xff09; 本教程参考 Apple 官网相关教程 创建可引导 Mac OS 安装器 重新安装 Mac OS 相关名词解释 磁盘分区会将其划分为多个单独的部分&#xff0c;称为分区。分区也称为容器&#xff0c;不同容器…

仓储自动化新解:托盘四向穿梭车驶入智能工厂 智能仓储与产线紧密结合

目前&#xff0c;由于对仓库存储量的要求越来越高&#xff0c;拣选、输送以及出入库频率等要求也越来越高&#xff0c;对此&#xff0c;在物流仓储领域&#xff0c;自动化与智能化控制技术得以快速发展&#xff0c;货架穿梭车在自动库领域的应用越来越广泛。现阶段&#xff0c;…

Windows Docker 部署 SQL Server

部署 SQL Server 打开 Docker Desktop&#xff0c;切换到 Linux 内核。然后在 PowerShell 执行下面命令&#xff0c;即可启动一个 SQL Server 服务&#xff0c;这里安装的是 2022 年版本 docker run -e "ACCEPT_EULAY" -e "MSSQL_SA_PASSWORDSQL123abcABC!&qu…

Sora 原理与技术实战笔记一

b 站视频合集 【AIX组队学习】Sora原理与技术实战&#xff1a;Sora技术路径详解 Sora 技术报告&#xff08;OpenAI&#xff09; huggingsd 文生图视频系列的一个开源项目 最强视频生成模型Sora相关技术解析 https://github.com/lichao-sun/SoraReview 惊艳效果&#xff1a; 长…

Cocos游戏开发中的金币落袋效果

引言 Cocos游戏开发中的金币落袋效果 大家好,不知道大家有没有被游戏中的一些小细节打动或吸引。 往往游戏就是通过一些与众不同的细节,去留住玩家。 金币落袋效果正是如此,它比普通的数值变化来得更加形象,给予玩家成就感和满足感。 本文重点给大家介绍一下如何在Coc…