10-进程管理

一.进程概念

程序—>代码文件

进程—>

  描述方式1:程序的运行过程

  描述方式2:操作系统控制着硬件去运行程序的过程

进程是操作系统最核心的概念

并发:多个任务看起来是同时运行的即可

并行:多个任务是真正地同时运行(只有多核才能实现并行)

线程:进程内代码地执行过程

   线程才是cup的执行单位,一个进程内至少有一个线程

强调:cpu是运行代码,不是做IO的

 

一个进程的多个线程共享该进程的内存资源

不同进程的多个线程的内存资源相互隔离

 

任务的三种运行状态

  运行态

  就绪态

  阻塞态

  ps:非阻塞与阻塞

提交任务的方式

  同步

  异步

 

二.进程命令

route -n:查看网关信息

ps aux |grep 进程名  # tasklist | findstr 进程名(windows)

R:运行

S+:可中断状态,即在睡眠状态中可以接受硬件设备的响应(正常IO)

D:不可中断状态,即在睡眠状态中不可以接受硬件设备的响应(太忙)

T:停止的进程(ctrl+z停止)

z:僵尸进程

x:死掉的进程(几乎看不见)

<:标注了<小于号代表优先级较高的进程  #  nice -n -20 sleep 3000 &

N:N代表优先级较低的进程  #  nice -n 19 sleep 5000 &

s:包含子进程

+:+表示是前台的进程组

 

ps -elf:查看进程号和父进程号‘

ps -elf |grep nginx:查看nginx的具体进程号和父进程号信息

ps aux |grep egon

pgrep -l -u egon:查看由egon用户启动的进程信息

 

pstree:进程树

pstree |less:进程树翻页

pstree 进程号:查看具体进程

 

top:实时查看进程信息

命令行选项

top -d 刷新时间s -p pid  # 只看某一个进程信息

top -d 刷新时间s -u 用户  # 只看该用户开启的所有进程信息(top -d 1 -u egon:实时1秒查看用户egon启动的进程信息)

内部命令

s # 修改刷新时间,单位是秒,可以是0.0001s,建议不要设置太小,否则会过度消耗cpu

q # 退出 

排序

  M 按照内存占用率从大到小排序

  P 按照CPU占用率从大到小排序

  N 按照PID从大到小排序

  配合R代表倒序

  shift + > # 移动排序字段

  shift + < # 移动排序字段

  按上下键查看所有进程

f # 增加显示字段

k # 给进程发信号

 

kill命令

ps aux |grep vsftpd:查找vsftpd的进程号

kill 【-15】进程号:终止vsftpd的服务进程

kill -9 进程号:强制杀死vsftpd的服务进程

pill -9 vim:强制杀死一系列vim的服务进程

kill -stop 进程号:停止vim的服务进程(s—>T)了解

kill -cont 进程号:继续开启vim的服务进程(T—>s)了解

 

三.hup信号处理

1.ping www.baidu.com &>/dev/null &:先不着急关闭窗口,exit或nohup退出后

2.ps -elf |grep [p]ing:查看ping命令的父子进程,父进程变为1

1.nohup ping www.baidu.com &>/dev/null &:直接x掉命令行窗口

2.ps -elf |grep [p]ing:查看ping命令的父子进程,父进程变为1

1.setsid ping www.baidu.com &>/dev/null &

2.ps -elf |grep [p]ing:查看ping命令的父子进程,父进程直接为1

1.(ping www.baidu.com &>/dev/null &)

2.ps -elf |grep [p]ing:查看ping命令的父子进程,父进程直接为1

 

screen vim a.txt

screen -ls:查看screen命令启动的服务进程‘

screen -r 进程号(进程名):恢复screen命令启动的服务进程(ctrl+a,ctrl+d快捷键,暂停程序运行)

screen -S new_s:创建一个screen命令窗口

screen -ls:查看screen命令启动的服务进程信息

screen -x new_s:另外一台连接同一个服务器的机器,连接screen命令窗口,实现同步效果

 

四.查看系统状态

nestat -tunalp:查看网络状态

nestat -an:同上

lsof -i:22:查看22端口信息

route -n:查看网关信息

du -sh /etc/:查看/etc文件夹大小

 

df:查看硬盘信息

df -h:同上

df -T:同上

 

free:查看内存信息

free -m:查看内存信息,换算成mb单位

free -wm:详细查看内存信息(buffers,cache)

free -w

释放buffer缓冲内存:
1.sync执行多次(强制写入硬盘)

2.echo 3 > /proc/sys/vm/drop_caches

 

lscpu:查看cpu完整信息

cat /proc/cpuinfo

grep "processor" /proc/cpuinfo :查看cpu核数

 

管道相关:
ifconfig &>a.txt:输出重定向

ifconfig | tee b.txt

 

五.僵尸进程与孤儿进程

1.kill -CHLD 父进程pid(父进程向操作系统发送清除信息)

2.kill -9 父进程pid(杀死父进程的方式可以清理僵尸进程)

 

posted @   修心的博客  阅读(64)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
点击右上角即可分享
微信分享提示