RHCE-7月24日-进程

RHCE-7月24日-进程

复习

less 过程中想修改,按v进入标记模式

grep 过滤关键字所在的行

  • 统计root出现多少次?

  • grep -o root				#只打印
    grep /etc/passwd | wc -l	#统计次数
    

sed

sed -n -e -i ‘ LINE 操作’ FILE

变量

通配符

命令拓展符号

$(command)

$变量 $(变量)

{1..10}

' '

" "

正则表达式

正则表达式:用来处理文本内容

? * []

基本正则表达式

[ab]*

a* 或者b*

#中括号代表一个字符

a* a? a+

拓展正则表达式

Bash 通配符

? * []

主要是用来匹配文件的

题目讲解

查找历史记录文件在哪里?

HISTSIZE
grep -rn HISTSIZE /etc	#查看在哪一行,递归查询
/etc/profile:46:HISTSIZE=1000
/etc/profile:53:export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
/etc/sudoers:76:Defaults    env_keep =  "COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS"

查找lo这张网卡的ip地址的第三位?

ifconfig lo | grep -w inet | awk '{print $2}'	#print$2是第二列

所有的/etc/passwd':'替换成换行符?

cat passwd | tr ':' '\n' | tr '/' '\n'| sort | uniq -c | sort -rn
#\n是换行符的意思,完成了词频统计

进程管理

什么是进程?

运行在内存中的一段程序

  • 进程ID是唯一标识进程
  • UID,GID和SElinux上下文决定文件系统的存储权限
    • 通常继承执行用户的权限
    • 子进程继承父进程的属性信息
pstree | grep bash
|-sshd---sshd---sshd---bash-+-grep
#查看进程
bash 		#切换进程

PS命令

常用参数

参数 说明
a 查看所有的进程
u 打印进程所有者信息
x 查看不属于任何终端的进程
-e 查看系统的所有进程
-f 查看额外的信息
-o 指定格式输出
--sor 指定排序的参数,例如:--sort=-%mem安装内存大小降序(前面加-是降序)
常用组合 ps aux 或者ps -ef ps -pf id

例子

ps			#查看系统执行的进程
ps aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.3 178956 13788 ?        Ss   08:54   0:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 17
root          2  0.0  0.0      0     0 ?        S    08:54   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        I<   08:54   0:00 [rcu_gp]

#USER		进程的拥有人,谁运行,拥有人就是谁
#PID		进程的PID,是进程的唯一标识号
#%CPU 		CPU使用百分比
#%MEM		内存使用百分比
#VSZ		虚拟内存,应用程序申请的内存
#RSS		实际使用的内存(内存复用,内存交换,内存气泡)分配比例150%
#TTY		进程运行在哪个终端上
#			控制台,包裹图形和字符界面的控制台
#			PTS/0:伪终端,图形界面打开的终端,和远程连接打开的终端叫伪终端
#			?:不属于任何终端
#STAT		进程的状态
#START		上一次进程开始运行的时间
#COMMAND	进程的名字或者命令

pidof named	#查看named的进程ID

ps -p $(pidof named) -f #查看某个进程详细信息
ps -ef | grep named

TOP命令

作用:动态的查看进程的信息

常用参数

参数 说明
c 查看完整命令
1 查看CPU数量
d 设置刷新间隔
p 指定监控某个进程
P 根据CPU百分比进行排序
T 根据时间/累计时间排序
f 可以选择显示的内容

拓展:swap交换分区

虚拟内存:将硬盘的某部分空间作为内存

本质:将内存中暂时访问不到的数据临时存放在swap空间

pgrep

通过程序的名字来查询进程的工具

参数 作用
-U 查找某个用户的进程ID
-G 查找某个组的进程ID
-P 根据父进程ID,查找出所有子进程ID
-I 不仅打印PID,也打印进程名
-o 多个程序运行,查找最老的,最新启动的
-n 多个程序运行,查找最新的,最后启动的
-d 多个进程之间的分隔符,不定义则使用换行符

pidof

查找准确的进程名的pid

pidof 进程名字 打印进程pid

kill

kill [-signal] pid 		#给进程发送信号
-15	#退出的信号(defualt)
-9	#强制退出
-1	#重新加载配置文件
-19	#将后台的进程暂停

kill -15 $(pidof vim)	#结束VIM进程

killall command/process	#可以直接+进程名结束
pkill					#语法规则与pgrep一致

调度优先级

优先级资源紧缺和抢占的时候发挥作用

  • 调度优先级决定对CPU的访问
  • 进程的nice值影响优先级
  • 值范围为-20到19,缺省为0
    • 低nice值意味着高CPU优先级
  • 通过ps -o comm,nice查看

修改优先级

ps -eo pid,cmd,nice | grep named
  5987 grep --color=auto named       0
renice -n -19 5987	#进程启动后修改优先级为-19
nice -n -19 COMMAND	#在进程启动时设置优先级

前台进程和后台进程

前台进程:当你运行的时候会占用你当前的终端。

ctrl+c 			#结束前台进程
ctrl+z			#将前台运行的进程放在后台暂停
ctrl+d			#交互式的结束时使用

firefox &		#后台运行,不要占用终端
jobs			#哪些前台进程放在后台了
fg %1			#将任务放在前台运行,%1标识job的第一个进程
bg %2			#将后台暂停的任务继续运行
posted @ 2021-07-26 22:25  令禹  阅读(49)  评论(0)    收藏  举报