Linux 中每个执行的程序都称为一个进程,每个进程都分配一个ID号(PID)
每个进程都可能以两种方式存在,前台(屏幕上可以操作的)和后台(屏幕上无法看到的),一般系统的服务都是以后台进程的方式存在,常驻在系统中,直到关机之后才结束
查看系统正在运行的进程
#-a 查看所有 -u 以用户的格式显示进程信息 -x 显示后台进程运行的参数
ps -aux
#进程太多可以用翻页的形式
ps -aux | more
#搜索进程
ps -aux | grep "mysql"
USER 进程执行用户 PID 进程ID cpu 占cpu百分比 MEM 占内存百分比 STAT 运行状态:S: 休眠 s:先导进程 R:正在运行 D: 短暂等待 Z:僵死进程 T: 被跟踪或被停止进程 N:比普通进程优先级更低的进程
start 进程开始时间 Time 进程占用的cpu时间 COMMAND 进程名(执行该进程的指令)
以全格式显示当前所有的进程,查看进程的父进程
#以全格式显示当前所有的进程 -e 显示所有进程 -f 全格式
ps -ef
ps -f | grep sshd
查看进程树(父子关系更直观)
#安装 pstree
sudo yum install psmisc
#根据进程名字
pstree -p | grep sshd
# 先找到 sshd 的主进程 PID
pgrep nginx
# 输出示例:1000
# 查看 PID=1000 的进程树
pstree -p 1000
终止进程
踢掉某个非法登录用户
ps -aux | grep sshd
kill 3414434
终止远程登录服务sshd,在适当的时候再次重启sshd服务
ps -aux | grep sshd
kill 601
#重启服务 重启服务之后 PID 发生变化
/bin/systemctl start sshd.service
终止多个gedit
killall gedit
强制终止一个终端
#-9 强制终止
kill -9 3438087