云计算Linux运维——Linux系统管理——进程管理

点关注不迷路

目录

1进程查看

一、进程介绍

二、查看进程 ps

1、查看当前终端运行的进程

2、查看所有进程

3、查看进程

4、获取进程的ID

2查看系统的运行状态

一、top

1、查看CPU的负载

二、CPU

1、查看CPU的物理型号

2、查看CPU负载

3、查看CPU使用率

二、内存

1、查看内存容量

2、动态查看内存的使用情况

三、硬盘

1、查看硬盘容量

2、查看硬盘inode

3、查看磁盘IO

四、网卡

1、查看网卡IO/流量

3进程调度控制

一、控制进程后台运行

1、将命令放入后台运行

2、查看后台运行的任务

3、将后台任务调回前台运行

4、将正在运行的任务放入后台,并暂停运行

二、通过向进程发送信号的方式

1、命令格式

2、查看信号 

3、常用信号

4计划任务

一、计划任务

二、一次性任务

1、前提条件

2、设置一次性任务

三、周期性任务

1、前提条件

2、设置周期性任务

3、查看周期性任务

5Linux系统运行模式

一、运行模式

1、查看运行模式

2、切换运行模式

3、设置默认的运行模式

二、Linux系统启动过程


1进程查看

一、进程介绍

  • 操作系统在执行任务时,进行资源分配的最小单位

二、查看进程 ps

1、查看当前终端运行的进程

[root@localhost ~]# ps
   PID TTY          TIME CMD
  6762 pts/0    00:00:00 bash
  6787 pts/0    00:00:00 ps
  • CMD 进程名称
  • PID 进程的ID

2、查看所有进程

[root@localhost ~]# ps aux 
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.3 190828  3760 ?        Ss   09:06   0:00 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root          2  0.0  0.0      0     0 ?        S    09:06   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    09:06   0:00 [ksoftirqd/0]
root          5  0.0  0.0      0     0 ?        S<   09:06   0:00 [kworker/0:0H]
root          7  0.0  0.0      0     0 ?        S    09:06   0:00 [migration/0]
  • VSZ 虚拟内存集
    • 物理内存、共享内存、swap虚拟内存
    • 共享内存的作用
      • 进程间通信(IPC)
  • RSS 物理内存集
    • 进程所消耗实际的物理内存大小
  • STAT 状态
    • R 运行状态
    • D 不可中断的睡眠
    • S 可中断的睡眠
    • T 停止状态
    • Z 僵尸状态
    • s 工作时会产生子进程
    • l 工作时会产生线程
    • < 高优先级的进程
    • N 低优先级的进程
    • + 前台进程

查看进程树

[root@localhost ~]# pstree 
systemd─┬─NetworkManager───2*[{NetworkManager}]
        ├─VGAuthService
        ├─agetty
        ├─auditd───{auditd}
        ├─crond
        ├─dbus-daemon
        ├─httpd───5*[httpd]
        ├─irqbalance
        ├─lvmetad
        ├─master─┬─pickup
        │        └─qmgr
        ├─polkitd───6*[{polkitd}]
        ├─rsyslogd───2*[{rsyslogd}]
        ├─sshd─┬─sshd───bash───pstree
        │      └─2*[sshd───bash───vim]

停止状态的进程

[root@localhost ~]# ps aux | grep ping
root       7753  0.0  0.2 150076  2008 pts/1    S+   11:04   0:00 ping baidu.com
root       7755  0.0  0.0 112812   976 pts/0    S+   11:04   0:00 grep --color=auto ping

[root@localhost ~]# kill -19 7753

[root@localhost ~]# ps aux | grep ping
root       7753  0.0  0.2 150076  2008 pts/1    T    11:04   0:00 ping baidu.com
root       7757  0.0  0.0 112812   980 pts/0    S+   11:05   0:00 grep --color=auto ping

[root@localhost ~]# kill -18 7753

[root@localhost ~]# ps aux | grep ping
root       7753  0.0  0.2 150076  2008 pts/1    S    11:04   0:00 ping baidu.com
root       7759  0.0  0.0 112812   980 pts/0    S+   11:06   0:00 grep --color=auto ping
[root@localhost ~]# 

模拟僵尸进程

[root@localhost ~]# yum install httpd 
[root@localhost ~]# systemctl start httpd

[root@localhost ~]# ps aux | grep "httpd"
root       7776  0.4  1.2 310416 12004 ?        Ss   11:13   0:00 /usr/sbin/httpd -DFOREGROUND
apache     7777  0.0  0.6 310416  6096 ?        S    11:13   0:00 /usr/sbin/httpd -DFOREGROUND
apache     7778  0.0  0.6 310416  6096 ?        S    11:13   0:00 /usr/sbin/httpd -DFOREGROUND
apache     7779  0.0  0.6 310416  6096 ?        S    11:13   0:00 /usr/sbin/httpd -DFOREGROUND
apache     7780  0.0  0.6 310416  6096 ?        S    11:13   0:00 /usr/sbin/httpd -DFOREGROUND
apache     7781  0.0  0.6 310416  6096 ?        S    11:13   0:00 /usr/sbin/httpd -DFOREGROUND
root       7785  0.0  0.0 112812   980 pts/0    S+   11:14   0:00 grep --color=auto httpd

[root@localhost ~]# kill -19 7776

[root@localhost ~]# kill -9 7780

[root@localhost ~]# ps aux | grep "http"
root       7776  0.0  1.2 310416 12004 ?        Ts   11:13   0:00 /usr/sbin/httpd -DFOREGROUND
apache     7777  0.0  0.6 310416  6096 ?        S    11:13   0:00 /usr/sbin/httpd -DFOREGROUND
apache     7778  0.0  0.6 310416  6096 ?        S    11:13   0:00 /usr/sbin/httpd -DFOREGROUND
apache     7779  0.0  0.6 310416  6096 ?        S    11:13   0:00 /usr/sbin/httpd -DFOREGROUND
apache     7780  0.0  0.0      0     0 ?        Z    11:13   0:00 [httpd] <defunct>
apache     7781  0.0  0.6 310416  6096 ?        S    11:13   0:00 /usr/sbin/httpd -DFOREGROUND
root       7788  0.0  0.0 112812   980 pts/0    S+   11:15   0:00 grep --color=auto http

[root@localhost ~]# kill -18 7780 

3、查看进程

[root@localhost ~]# ps -elf 
F S UID         PID   PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
4 S root          1      0  0  80   0 - 47743 ep_pol 09:06 ?        00:00:01 /usr/lib/systemd/systemd --switched-root --system --deser
1 S root          2      0  0  80   0 -     0 kthrea 09:06 ?        00:00:00 [kthreadd]
1 S root          3      2  0  80   0 -     0 smpboo 09:06 ?        00:00:00 [ksoftirqd/0]
1 S root          5      2  0  60 -20 -     0 worker 09:06 ?        00:00:00 [kworker/0:0H]
1 S root          7      2  0 -40   - -     0 smpboo 09:06 ?        00:00:00 [migration/0]
  • PPID 父进程ID

4、获取进程的ID

[root@localhost ~]# pidof ping 7982

三、动态查看进程 top

# top

  • M 按内存的占用比显示进程
  • P 按CPU的占用比显示进程
  • q 退出

2查看系统的运行状态

一、top

[root@localhost ~]# top 
top - 13:51:58 up  4:45,  2 users,  load average: 0.00, 0.01, 0.05
Tasks: 124 total,   1 running, 123 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.4 us,  0.0 sy,  0.0 ni, 98.6 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :   995924 total,   690372 free,   110360 used,   195192 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.   707544 avail Mem 

1、查看CPU的负载

top - 13:51:58 up  4:45,  2 users,  load average: 0.00, 0.01, 0.05

[root@localhost ~]# uptime 
 13:58:08 up  4:52,  2 users,  load average: 0.00, 0.02, 0.05
  • load average
    • 最近1分钟、5分钟、15分钟的平均负载
    • 该值不长期超过CPU的个数,说明负载正常

2、查看CPU的使用率

%Cpu(s): 1.4 us, 0.0 sy, 0.0 ni, 98.6 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

  • us 用户进程占用的CPU百分比
  • sy 系统进程占用的CPU百分比
  • id CPU的空闲
  • wa 等待IO完成的进程所占用的CPU百分比

二、CPU

1、查看CPU的物理型号

[root@localhost ~]# lscpu 
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    1
Core(s) per socket:    2
Socket(s):             2
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 142
Model name:            Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz

2、查看CPU负载

# top

# uptime

3、查看CPU使用率

# top

[root@localhost ~]# mpstat 2 4
Linux 3.10.0-957.el7.x86_64 (localhost.localdomain) 	07/22/2022 	_x86_64_	(4 CPU)

03:16:03 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
03:16:05 PM  all    0.00    0.00    0.12    0.00    0.00    0.00    0.00    0.00    0.00   99.88
03:16:07 PM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
03:16:09 PM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00

二、内存

1、查看内存容量

[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            972         107         574           7         291         690
Swap:          2047           0        2047

2、动态查看内存的使用情况

[root@localhost ~]# vmstat 2 4 
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 587852   2108 295912    0    0     3     0    9   13  0  0 100  0  0
 0  0      0 587852   2108 295944    0    0     0     0   48   60  0  0 100  0  0
 0  0      0 587852   2108 295944    0    0     0     0   25   34  0  0 100  0  0
 0  0      0 587852   2108 295944    0    0     0     0   37   51  0  0 100  0  0

三、硬盘

1、查看硬盘容量

[root@localhost ~]# df -hT

2、查看硬盘inode

# df -i

3、查看磁盘IO

[root@localhost ~]# iostat 1 3
Linux 3.10.0-957.el7.x86_64 (localhost.localdomain) 	07/22/2022 	_x86_64_	(4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.02    0.00    0.03    0.00    0.00   99.95

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               0.40        10.97         1.13     258438      26525
scd0              0.00         0.04         0.00       1028          0
dm-0              0.31        10.45         1.04     245990      24457
dm-1              0.00         0.10         0.00       2460          0

四、网卡

1、查看网卡IO/流量

[root@localhost ~]# sar -n DEV 2

03:47:39 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
03:47:40 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
03:47:40 PM     ens33      7.89     10.53      0.58      1.79      0.00      0.00      0.00

3进程调度控制

一、控制进程后台运行

  • 默认在前台运行

1、将命令放入后台运行

命令:nohup [命令] &

命令:nohup sleep 100 &

命令:nohub dd if=/dev/zero of=/opt/a.txt bs=10M count=900 &

2、查看后台运行的任务

命令:jobs -l

3、将后台任务调回前台运行

命令:fg 任务编号

4、将正在运行的任务放入后台,并暂停运行

命令:ctrl + z

二、通过向进程发送信号的方式

1、命令格式

命令:kill 【-信号编号/名称】PID

命令:killall 【-信号编号/名称】进程名称

2、查看信号 

[root@localhost ~]# kill -l
 1) SIGHUP	 2) SIGINT	 3) SIGQUIT	 4) SIGILL	 5) SIGTRAP
 6) SIGABRT	 7) SIGBUS	 8) SIGFPE	 9) SIGKILL	10) SIGUSR1
11) SIGSEGV	12) SIGUSR2	13) SIGPIPE	14) SIGALRM	15) SIGTERM
16) SIGSTKFLT	17) SIGCHLD	18) SIGCONT	19) SIGSTOP	20) SIGTSTP
21) SIGTTIN	22) SIGTTOU	23) SIGURG	24) SIGXCPU	25) SIGXFSZ
26) SIGVTALRM	27) SIGPROF	28) SIGWINCH	29) SIGIO	30) SIGPWR
31) SIGSYS	34) SIGRTMIN	35) SIGRTMIN+1	36) SIGRTMIN+2	37) SIGRTMIN+3
38) SIGRTMIN+4	39) SIGRTMIN+5	40) SIGRTMIN+6	41) SIGRTMIN+7	42) SIGRTMIN+8
43) SIGRTMIN+9	44) SIGRTMIN+10	45) SIGRTMIN+11	46) SIGRTMIN+12	47) SIGRTMIN+13
48) SIGRTMIN+14	49) SIGRTMIN+15	50) SIGRTMAX-14	51) SIGRTMAX-13	52) SIGRTMAX-12
53) SIGRTMAX-11	54) SIGRTMAX-10	55) SIGRTMAX-9	56) SIGRTMAX-8	57) SIGRTMAX-7
58) SIGRTMAX-6	59) SIGRTMAX-5	60) SIGRTMAX-4	61) SIGRTMAX-3	62) SIGRTMAX-2
63) SIGRTMAX-1	64) SIGRTMAX	

3、常用信号

  • 15)SUGTERM
    • 正常结束进程
    • 默认
  • 9)SIGKILL
    • 结束进程(异常)

命令:kill -9 6893

  • 1)SIGUP
    • 让进程重新读取配置文件

4计划任务

一、计划任务

  • 一次性任务
  • 周期性任务

二、一次性任务

1、前提条件

  • 依赖于atd服务
[root@localhost ~]# systemctl status atd
● atd.service - Job spooling tools
   Loaded: loaded (/usr/lib/systemd/system/atd.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2022-07-25 10:38:47 CST; 1s ago
 Main PID: 7722 (atd)
   CGroup: /system.slice/atd.service
           └─7722 /usr/sbin/atd -f

Jul 25 10:38:47 localhost systemd[1]: Started Job spooling tools.

2、设置一次性任务

[root@localhost ~]# at 19:45
at> mkdir /tmp/abc
at> <EOT> 
  • 按ctrl + d 提交任务

三、周期性任务

1、前提条件

  • 依赖于crond服务
[root@localhost ~]# systemctl status crond
● crond.service - Command Scheduler
   Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
   Active: active (running) since 四 2022-08-25 08:44:33 CST; 11h ago
 Main PID: 691 (crond)
   CGroup: /system.slice/crond.service
           └─691 /usr/sbin/crond -n

8月 25 08:44:33 localhost.localdomain systemd[1]: Started Comm...
8月 25 08:44:33 localhost.localdomain crond[691]: (CRON) INFO ...
8月 25 08:44:36 localhost.localdomain crond[691]: (CRON) INFO ...
Hint: Some lines were ellipsized, use -l to show in full.
[root@localhost ~]# 

2、设置周期性任务

#crontab -e

一、时间写法

分  时  日  月  周     
 
每天晚上十点半                          30 22 * * *
每周三上午九点                          0 9 * * 3
 
每天上午八点半、九点半、十点半          30 8-10 * * * 
每周一到周四的晚上八点                  0 20 * * 1-4 


每周一,三,五晚上十一点半              30 23 * * 1,3,5


每隔半个小时                            */30 * * * *
上午八点到下午4点,每隔2个小时          0 8-16/2 * * * 

操作得注意事项:

1、所有命令以绝对路径得方式写

2、%需要转义  \%

3、查看周期性任务

[root@localhost ~]# crontab -l
30 8-10 * * *  /usr/bin/touch /tmp/$(/usr/bin/date +\%F_\%T)

[root@localhost ~]#

5Linux系统运行模式

一、运行模式

  • 0
    • 关机模式
  • 1
    • 单用户模式
    • 重置root密码
  • 2
    • 字符模式[无网络连接]
  • 3        multi-user.target
    • 字符模式
  • 4
    • 预留模式
  • 5       graphical.target
    • 图形模式
  • 6
    • 重启模式

1、查看运行模式

# runlevel

2、切换运行模式

# init 5

[root@localhost ~]# systemctl isolate multi-user.target

[root@localhost ~]# systemctl isolate graphical.target

3、设置默认的运行模式

[root@localhost ~]# systemctl set-default multi-user.target

二、Linux系统启动过程

  • BIOS加电自检
  • 在硬盘的MBR查找引导记录
  • 加载kernel内核
  • 运行login程序

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

¥阿拉伯王子¥

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

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

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

打赏作者

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

抵扣说明:

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

余额充值