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			#将后台暂停的任务继续运行

 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号