Linux 系统进程管理实战

今天给伙伴们分享一下Linux 系统进程管理,希望看了有所收获。

我是公众号「想吃西红柿」「云原生运维实战派」作者,对云原生运维感兴趣,也保持时刻学习,后续会分享工作中用到的运维技术,在运维的路上得到支持和共同进步!

如果伙伴们看了文档觉得有用,欢迎大家关注我的公众号,获取相关文档。爱运维,爱生活。

一、作业管理

1、jobs 命令查看后台作业

语法格式: jobs [参数]

常用参数:

  • -l 显示作业列表及进程号
  • -n 仅显示自发生变化的作业
  • -p 仅显示其对应的进程号
  • -r 仅显示运行的作业
  • -s 仅显示暂停的作业
  • -x 替代原有作业的进程ID

参考示例

显示当前后台的作业列表:
[root@edenluo.com ~]# jobs 
显示当前后台的作业列表及进程号: 
[root@edenluo.com ~]# jobs -l 
仅显示运行的后台作业: 
[root@edenluo.com ~]# jobs -r 
仅显示已暂停的后台作业:
[root@edenluo.com ~]# jobs -s 
仅显示自上次执行jobs命令后状态又发生变化的后台作业:
[root@edenluo.com ~]# jobs -n 

2、fg 将作业放到前台运行

  • 语法格式:fg [参数] 作业标识

将指定编号标识的作业放回到终端前台继续运行:

[root@edenluo.com ~]# fg 1

3、bg 在后台暂停的作业放到后台运行(启动后台暂停的作业)

  • 语法格式:bg [参数]

将指定标识的任务放到后台继续执行:

[root@edenluo.com ~]# bg 1 

扩展知识:执行指定任务,并将其放到后台执行:

[root@edenluo.com ~]# tar czvf File.tar.gz /Dir/www &

二、进程控制

1、关闭进程

  • 关闭进程3个命令:kill killall pkill

    • kill关闭进程:kill 进程号 关闭单个进程

    • killall和pkill 命令用于杀死指定名字的进程

  • 通过信号的方式来控制进程的

  • kill -l =====> 列出所有支持的信号(了解) 用最多的是:9 信号

图片

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

[root@edenluo.com ~]# kill 信号(signal) pid
[root@edenluo.com ~]# kill -HUP  pid    观察pid的变化
[root@edenluo.com ~]# kill -STOP pid    systemctl status nginx 

[root@edenluo.com ~]# kill -9 pid     用kill 解决不了的,再用kill -9 

[root@edenluo.com ~]# killall 信号 进程名称
[root@edenluo.com ~]# killall vim

[root@edenluo.com ~]# pkill vim
[root@edenluo.com ~]# pkill -9 进程名称
[root@edenluo.com ~]# pkill -t 终端  
不加-9只杀死在终端上运行的进程,加-9连终端本身一起干掉
[root@edenluo.com ~]# pkill -u 用户名称

2、进程的优先级(了解)

  • 优先级高的占用CPU时间多
  • 系统分配给程序的数字
  • 优先级特性:值越大,优先级越低,优先级范围:新标准:-20–19 原标准:-99–39
1、查看进程的优先级
[root@edenluo.com ~]# ps axo nice
2、设置进程优先级
1、启动时设置
  • 默认情况会继承父进程的优先级,默认为0

  • 调整优先级示例:

[root@edenluo.com ~]# nice -n -5 sleep 8000 & # 设置睡眠8000秒,&为不占用顶层试图
2、设置已经启动的进程优先级
  • 命令:
[root@edenluo.com ~]# renice -nice PID
  • 示例:
[root@edenluo.com ~]# renice -20 32050 # 将这个进程的优先级调整为-20

三、进程查看扩展命令

1、pstree 查看进程树

[root@edenluo.com ~]# pstree
  • -a 显示参数
  • -p 显示pid
  • -u 显示用户名 只针对普通用户开启的进程

2、pidof 查找服务进程的PID号码

[root@edenluo.com ~]# pidof 进程名称
[root@edenluo.com ~]# pidof sshd 
3245

3、pgrep 检索进程PID号码

  • 语法格式:pgrep [参数] 服务名称
[root@edenluo.com ~]# pgrep -l eyes
1179 xeyes

4、w 显示已登录用户的信息

[root@edenluo.com ~]# w
     16:51:43 up  8:30,  7 users,  load average: 0.11, 0.27, 0.30
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   
    PCPU WHAT
    root     :0       :0               08:22   ?xdm?  29:39   0.23s 
    gdm-session-
    root     pts/0    :0               14:13    1:43   0.30s  0.30s bash
    root     pts/1    :0               11:19    5:19   0.62s  0.62s bash
    root     pts/2    :0               14:13    1:39m  0.06s  0.01s less
    root     pts/3    :0               14:54    7.00s  0.06s  0.01s w
    root     pts/4    :0               16:25   25:51   0.06s  0.06s bash
    root     pts/5    :0               16:40    7:11   0.24s  0.24s bash

5、who 查看当前登录用户信息

[root@edenluo.com ~]# who
    root     :0           2017-11-27 08:22 (:0)
    root     pts/0        2017-11-27 14:13 (:0)
    root     pts/1        2017-11-27 11:19 (:0)
    root     pts/2        2017-11-27 14:13 (:0)
    root     pts/3        2017-11-27 14:54 (:0)
    root     pts/4        2017-11-27 16:25 (:0)
    root     pts/5        2017-11-27 16:40 (:0)

6、users 显示当前登录的用户

[root@edenluo.com ~]# users
root root root root root root root

7、free 显示系统内存使用量情况

free 命令的功能是显示系统内存使用量情况,包含物理和交换内存的总量、使用量和空闲量情况。

**语法格式:**free [参数]

常用参数:

-b设置显示单位为Byte
-g设置显示单位为GB
-h自动调整合适的显示单位
-k设置显示单位为KB
-l显示低内存和高内存统计数据
-m设置显示单位为MB
-o不显示缓冲区数据列
-s持续显示内存数据
-t显示内存使用总合
-V显示版本信息
  • 参考示例

  • 以默认的容量单位显示内存使用量信息:

[root@edenluo.com ~]# free
              total        used        free      shared  buff/cache   available
Mem:        2013304     1372796       87432       17620      553076      444040
Swap:       2097148        1804     2095344
  • 以MB位单位显示内存使用量信息:
[root@edenluo.com ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1966        1342         123          14         499         434
Swap:          2047           9        2038
  • 以易读的单位显示内存使用量信息:
[root@edenluo.com ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:          1.9Gi       1.3Gi       120Mi        14Mi       500Mi       431Mi
Swap:         2.0Gi       9.0Mi       2.0Gi
  • 以易读的单位显示内存使用量信息,每个10秒刷新一次:
[root@edenluo.com ~]# free -hs 10
              total        used        free      shared  buff/cache   available
Mem:          1.9Gi       1.3Gi       119Mi        14Mi       500Mi       430Mi
Swap:         2.0Gi       9.0Mi       2.0Gi

              total        used        free      shared  buff/cache   available
Mem:          1.9Gi       1.3Gi       119Mi        14Mi       500Mi       430Mi
Swap:         2.0Gi       9.0Mi       2.0Gi

如果有版帮助,帮忙免费的关注一下**公众号「想吃西红柿」「云原生运维实战派」**后续会有更多实用的运维技术分享给伙伴们,您的关注就是我最大的成就。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尘嫣慕曦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值