找出系统中使用CPU最多的进程

找出系统中使用CPU最多的进程
运行top , 找出使用CPU最多的进程 ,按大写的P,可以按CPU使用率来排序显示
在这里插入图片描述
下图,可以看到dirtycow(脏牛漏洞,用于提权) 进程使用196.8%
在这里插入图片描述
这是你第一次看见: 1
如果你的4核心的cpu,你可以运行400%

lsof命令
lsof命令用于查看你进程打开的文件,打开文件的进程,进程打开的端口(TCP、UDP)
-i<条件>:列出符合条件的进程。(4、6、协议、:端口、 @ip )
-p<进程号>:列出指定进程号所打开的文件;
例:
[root@GDH ~]# vim a.txt
[root@GDH ~]# ps -axu | grep a.txt
root 43641 0.8 0.2 151744 5280 pts/3 S+ 18:19 0:00 vim a.txt
root 43652 0.0 0.0 112676 996 pts/1 S+ 18:19 0:00 grep --color=auto a.txt
[root@GDH ~]# lsof -p 43641 #一般用于查看木马进程,在读哪些文件
[root@GDH ~]# lsof -i :22 #用于查看端口,或查看黑客开启的后门端口是哪个进程在使用

pstree工具使用
pstree:(display a tree of processes)以树状图显示进程,只显示进程的名字,且相同进程合并显示。
格式:pstree 或 pstree -p
以树状图显示进程,还显示进程PID。
[root@GDH ~]# pstree -p

** 前后台进程切换- nice进程优先级-实战screen后台执行命令**
Linux后台进程与前台进程的区别
前台进程:是在终端中运行的命令,那么该终端就为进程的控制终端,一旦这个终端关闭,这个进程也随着消失
后台进程: 也叫守护进程(Daemon),是运行在后台的一种特殊进程,不受终端控制,它不需要与终端交互;Linux的大多数服务器就是用守护进程实现的。比如,Web服务器httpd等。

进程的前台与后台运行
跟系统任务相关的几个命令(了解):
在这里插入图片描述
实战恢复被挂起的进程(了解)
例: vim a.txt 按下: ctrl+z
[root@GDH ~]# vim a.txt #打开后,然后执行 ctrl+z
[1]+ 已停止 vim a.txt
[root@GDH ~]# ps -axu | grep vim
root 43710 0.8 0.2 151744 5304 pts/3 T 18:26 0:00 vim a.txt
root 43720 0.0 0.0 112676 984 pts/3 S+ 18:26 0:00 grep --color=auto vim
[root@GDH ~]# jobs #查看当前有多少在后台运行的进程
[1]+ 已停止 vim a.txt
[root@GDH ~]# fg 1 #将后台挂起的进程恢复到前台运行

kill关闭进程
关闭进程3个命令:kill killall pkill
kill关闭进程:kill 进程号 关闭单个进程
killall和pkill 命令用于杀死指定名字的进程
通过信号的方式来控制进程的
kill -l =====> 列出所有支持的信号(了解) 用最多的是: 9 信号

信号编号 信号名
1) SIGHUP 重新加载配置
2) SIGINT 键盘中断 crtl+c
3) SIGQUIT 退出
9) SIGKILL 强制终止
15) SIGTERM 终止(正常结束),缺省信号
18) SIGCONT 继续
19) SIGSTOP 停止
20) SIGTSTP 暂停 crtl+z
例1: kill和killall终止进程
[root@GDH ~]# kill -9 2342
[root@GDH ~]# killall sshd
[root@GDH ~]# pkill sshd

进程的优先级管理
优先级取值范围为(-20,19),越小优先级越高, 默认优先级是0
命令1:nice 指定程序的运行优先级
格式:nice n command
命令2:renice 改变程序的运行优先级
格式:renice -n pid
例1:指定运行vim的优先级为5
[root@GDH ~]# nice -n 5 vim a.txt
输入内容,然后ctrl+z 挂起
在这里插入图片描述
通过ps查看这个文件的PID号
[root@GDH ~]# ps -aux|grep vim
在这里插入图片描述
通过top命令查看优先级
[root@GDH ~]# top -p 26154
在这里插入图片描述
改变正在运行的进程的优先级

在这里插入图片描述 实战:使用screen后台实时执行命令备份命令
实战场景:公司晚上需要备份1T数据,我在xshell上直接执行备份脚本back.sh可以吗? 或直接运行back.sh & 放到后台运行可以吗? 当关了xshell后,back.sh & 还在后台执行吗?
答:xshell长时间连接,如果本地网络偶尔断开或xshell不小心关闭,都会让后台运行的备份命令停止运行的。正确做法使用: srceen

screen概述和安装
Screen中有会话的概念,,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。
安装screen软件包
#rpm -ivh /mnt/Packages/screen-4.1.0-0.23.20120314git3c2946.el7_2.x86_64.rpm
或者
[root@GDH ~]# yum -y install screen
10.3.7 screen使用方法
直接在命令行键入screen命令回车,如下图
[root@GDH ~]# screen
Screen将创建一个执行shell的全屏窗口。你可以执行任意shell程序,就像在ssh窗口中那样

例如,我们在做某个大型的操作但是突然之间断开:
实战:使用screen后台实时执行命令备份命令
[root@GDH ~]# screen #进入
[root@GDH ~]# vim a.txt #执行命令, 或执行你自己需要运行的备份命令
此时想离开一段时间,但还想让这个命令继续运行
[root@GDH ~]# #在screen当前窗口键入快捷键Ctrl+a+d
[detached from 44074.pts-3.GDH] #分离出来独立的一个会话
detached [dɪˈtætʃt] 分离,独立

半个小时之后回来了,找到该screen会话:
[root@tivf06 ~]# screen -ls #查看已经建立的会话ID
There is a screen on:
44074.pts-1.tivf06 (Detached)
1 Socket in /tmp/screens/S-root.
重新连接会话:
[root@GDH ~]# screen -r 44074
root@GDH ~]# exit #不想使用screen 会话了,执行:exit退出。

附:常用screen参数
screen -S test -> 新建一个叫test的会话
screen -ls -> 列出当前所有的会话
screen -r test -> 回到test会话

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值