您的位置:首页 > 运维架构 > Linux

Linux系统中的进程管理

2020-01-15 03:51 155 查看

1.什么是进程

进程就是系统中未完成并且正在进行的工作

2.查看进程

1)图形方式查看

         gnome-system-monitor

2)进程查看命令

               ps           

-A 所有进程
-a

在环境中的所有进程,不包含环境信息

-u

显示进程用户信息

a 显示当前环境中运行的进程,包含环境信息
x

列出系统中所有运行包含tty输出设备

f 显示进程的父子关系
e

显示进程的详细信息(系统资源的调用)

       ps -A

ps -a

ps -u

ps a

ps常用组合:

ps   aux 显示系统中所有进程并显示进程用户
ps   ef 显示进程详细信息并显示进程父子关系
ps   ax

显示当前系统中的所有进程

pstree

显示当前系统的进程树

ps aux

     

ps ef

pstree

显示进程指定信息:ps   -o     xxx       ##显示进程的指定信息

comm

进程名称

user 进程所有人
group 进程所有组
%cpu 进程cpu使用率
%men 进程内存使用率
pid 进程id
nice 进程优先级

 

进程排序:

            ps  ax  --sort=

                                     +%cpu|-%cpu            ##按照cpu使用率排序

                                     +%men|-%men           ##按照内存使用绿排序

        stat中显示的信息

S 进程状态
l 内存中有锁定空间
N 优先级低
< 优先级高
+ 前台运行
s 顶级进程

3.进程优先级

1)进程的优先级范围

     -20~19

2)优先级查看

                   ps ax  -o pid ,nice,comm

3)指定某个优先级开启进程

格式如下:

                  nice        -n              优先级数字    进程名称

                  nice        -n   5   vim  &    ##开启vim并且指定程序优先级为-5

4)改变进程优先级

格式:renice   -n           优先级数字   进程pid

renice    -n  -5  1086   ##改变1086进程的优先级为-5

用watch进行监视:

  watch -n 1 ps  a -o stat,user,pid,comm

4.环境中进程的前后台调用

 

jobs 查看被打入环境后台的进程
ctrl+z 把占用终端的进程打入后台
fg   jobsnum 把后台进程调回前台
bg   jobsnum 把后台暂停的进程运行

comm  &

让命令直接在后台运行

将firefox和gedit打入后台:

打入后台的gedit不能运行

将后台进程调回前台:

gedit可以编辑了。

5.进程信号

1)常用信号等级

1 进程重新加载配置
2 删除进程在内存中的数据
3 删除鼠标在内存中的数据
9

强行结束单个进程(不能被阻塞)

15 正常关闭进程(可能被阻塞)
18 运行暂停的进程
19 暂停某个进程(不能被阻塞)
20 把进程打入后台(可以被阻塞)
man 7 signal 查看信号详细信息

2)kill的用法

kill             -信号         进程pid                                ##  杀死单个进程
killall          -信号          进程名字                             ##  批量杀死
pkill    -u     student       -信号                                     ## 杀死指定的用户

示例:杀死firefox

对比前后firefox进程结束。

示例:gedit进程暂停不能被阻塞。

暂停之后不能写入东西。

6.进程的动态监控

1)top

1. 显示cpu每个核的负载
s 调整刷新频率
c cpu负载排序
m 内存使用量排序 
h 查看帮助
u 查看指定用户进程
k 对指定进程发起信号
q 退出

7.控制服务

1)什么是服务

cs模型,c表示client ,s表示server

定义:系统中运行的对于系统本身没有意义,但是对客户主机有重大意义的程序叫做服务性软件,简称服务。

2)用什么控制服务

系统初始化进程可以对服务进行相应的控制

3)当前系统初始化进程是什么

        systemd         ##系统初始化进程

         pstree            ##显示系统中的进程树

4)进程控制命令

ssh ----------------------------->sshd

client                                    server

systemctl                            ##服务控制命令

systemctl    status          sshd 查看服务状态
systemctl     start            sshd 开启服务

systemctl      stop           sshd

关闭服务

systemctl      restart        sshd

重启服务

systemctl       reload        sshd

重新加载服务配置

systemctl       enable        sshd

设定服务开机启动
systemctl       disable       sshd 设定服务开机不启动
systemctl         list-units 列出已经开启服务当前状态
systemctl         list-unit-files 列出所有服务开机启动的状态
systemctl     list-dependencies 列出服务的依赖
systemctl    set-default   multi-user.target 设定系统启动多用户模式(无图形)
systemctl   set-default     graphical.target 设定系统启动图形模式

示例:查看服务状态

关闭服务:

开启服务:

设定该服务不能开机启动:

列出已开启服务的当前状态:

设置系统启动多用户模式(无图形):

 

 

  • 点赞
  • 收藏
  • 分享
  • 文章举报
WangTynl 发布了46 篇原创文章 · 获赞 1 · 访问量 922 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: