Linux-系统管理的进程和服务管理

Linux-系统管理的进程管理和服务管理

目录

1️⃣后台管理
2️⃣结束Linux的进程
3️⃣负载(怎么衡量负载高低)
4️⃣服务管理
4.1服务管理相关
4.2运行级别
4.3Linux启动流程

1.后台管理

1.1后台运行:软件进入到后台,一直保持,连接断开了,也不会受影响,软件还会在运行中。
1.2前台运行:一般远程连接服务器或虚拟机,在命令窗口输入的命令,命令默认就是前台运行,如果断开连接这个命令,操作就会结束。

1.2如何让软件进入到后台运行
后台运行含义应用的目的
1️⃣ 命令 &(键盘上数字7)常用的方法
2️⃣ nohup 命令 & 会记录输入到文件中,默认的文件是nohup.out文件
3️⃣ 先运行命令,在按下Ctrl + z(后台运行),bgctrl +c 无法结束, 可以使用这个方法结束
4️⃣ `screen命令

(1) &(这个符号是键盘上的数字7) 进入到后台运行
在这里插入图片描述

[root@localhost ~]# sleep 666  &
[1] 2229
[root@localhost ~]# ps aux |grep 2229
root       2229  0.0  0.0 108052   356 pts/0    S    12:56   0:00 sleep 666
root       2231  0.0  0.0 112824   980 pts/0    R+   12:56   0:00 grep --color=auto 2229

(2)nohup 命令 & 方法

[root@localhost ~]# nohup xxxx(命令)  &
[root@localhost ~]# nohup: 忽略输入并把输出追加到"nohup.out"

[root@localhost ~]# ll nohup.out 
-rw-------. 1 root root 577 10月 18 13:10 nohup.out
[root@localhost ~]# tail -f nohup.out 

(3)Ctrl +z ,fg 放在前台运行,bg后台运行
举例子:当下载一个命令,按了Ctrl +z 终止,如果再次运行下载的命令的时候可以使用bg放在前台或后台运行

第一步:下载命令,不小心按了Ctrl +z 已终止
[root@localhost ~]# yum install sz
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
^Z
[1]+  已停止               yum install sz
第二步:用top命令查看
[root@localhost ~]# top
top - 13:21:17 up  2:59,  2 users,  load average: 0.00, 0.01, 0.05
Tasks: 106 total,   1 running, 103 sleeping,   2 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.3 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  2027876 total,  1676000 free,   213680 used,   138196 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  1664796 avail Mem 
第三步:过滤这个终止的掉后台挂起的状态
[root@localhost ~]# ps aux |grep T
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root        958  0.0  0.2 225936  4880 ?        Ss   10:22   0:00 /usr/bin/abrt-watch-log -F BUG: WARNING: at WARNING: CPU: INFO: possible recursive locking detected ernel BUG at list_del corruption list_add corruption do_IRQ: stack overflow: ear stack overflow (cur: eneral protection fault nable to handle kernel ouble fault: RTNL: assertion failed eek! page_mapcount(page) went negative! adness at NETDEV WATCHDOG ysctl table check failed : nobody cared IRQ handler type mismatch Kernel panic - not syncing: Machine Check Exception: Machine check events logged divide error: bounds: coprocessor segment overrun: invalid TSS: segment not present: invalid opcode: alignment check: stack segment: fpu exception: simd exception: iret exception: /var/log/messages -- /usr/bin/abrt-dump-oops -xtD
root       2335  0.1  1.2 354780 25852 pts/0    T    13:20   0:00 /usr/bin/python /usr/bin/yum install sz
root       2336  0.0  0.5 319288 11620 pts/0    T    13:20   0:00 /usr/bin/python /usr/libexec/urlgrabber-ext-down
root       2341  0.0  0.0 112824   960 pts/1    R+   13:24   0:00 grep --color=auto T
第四步:如果想要继续执行上次终止的可以使用前台命令fg或后台的命令

(4)screen命令

第一步:安装
[root@localhost ~]# yum -y install screen
第二步:执行screen命令
[root@localhost ~]# screen

[root@localhost ~]# 
第三步:进入到screen窗口
第四步:输入能持续运行的命令断网或断开连接(意外退出) 
[root@localhost ~]# ping  xxxx
第五步:查看screen -ls
[root@localhost ~]# screen -ls
There is a screen on:
	1857.pts-0.localhost	(Detached)
1 Socket in /var/run/screen/S-root.
第六步:过滤screen进程号
[root@localhost ~]# pstree -p
systemd(1)─┬─NetworkManager(1152)─┬─{NetworkManager}(1159)
           │                      └─{NetworkManager}(1162)
           ├─VGAuthService(934)
           ├─abrt-watch-log(938)
           ├─abrtd(922)
           ├─agetty(965)
           ├─auditd(862)───{auditd}(863)
           ├─crond(946)
           ├─dbus-daemon(924)───{dbus-daemon}(928)
           ├─firewalld(997)───{firewalld}(1308)
           ├─lvmetad(507)
           ├─master(1634)─┬─pickup(1640)
           │              └─qmgr(1641)
           ├─polkitd(936)─┬─{polkitd}(954)
           │              ├─{polkitd}(956)
           │              ├─{polkitd}(962)
           │              ├─{polkitd}(966)
           │              ├─{polkitd}(983)
           │              └─{polkitd}(993)
           ├─rsyslogd(1485)─┬─{rsyslogd}(1488)
           │                └─{rsyslogd}(1489)
           ├─screen(1857)───bash(1858)───ping(1873)
           ├─sshd(1484)─┬─sshd(1732)───bash(1736)
           │            └─sshd(1773)───bash(1777)───pstree(1875)
           ├─systemd-journal(482)
           ├─systemd-logind(933)
           ├─systemd-udevd(517)
           ├─tuned(1482)─┬─{tuned}(1725)
           │             ├─{tuned}(1726)
           │             ├─{tuned}(1728)
           │             └─{tuned}(1730)
           └─vmtoolsd(935)───{vmtoolsd}(1010)
  第七步:恢复screen -r 
  [root@localhost ~]# screen -r 1857.pts-0.localhost
  第八步:如果彻底退出当前窗口可以按ctrl + c 或ctrl +d 退出当前窗口  

还有一个后台命令jobs

第一步:运行两个命令,按住ctrl +z 终止
[root@localhost ~]# sleep 888
^Z
[1]+  已停止               sleep 888
[root@localhost ~]# sleep 666
^Z
[2]+  已停止               sleep 666
第二步:查看状态有两个停止掉的状态 stopped
[root@localhost ~]# top
top - 15:09:41 up 45 min,  2 users,  load average: 0.01, 0.03, 0.05
Tasks: 106 total,   2 running, 102 sleeping,   2 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.3 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  2027876 total,  1518756 free,   188632 used,   320488 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  1685316 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                 
   935 root      20   0  305504   6552   5156 S  0.3  0.3   0:10.73 vmtoolsd                                
  1958 root      20   0  162092   2200   1552 R  0.3  0.1   0:00.21 top                                     
     1 root      20   0  128408   7000   4144 S  0.0  0.3   0:03.57 systemd                                 
     2 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kthreadd                                
     4 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H                            
     5 root      20   0       0      0      0 S  0.0  0.0   0:00.50 kworker/u256:0                          
     6 root      20   0       0      0      0 S  0.0  0.0   0:00.38 ksoftirqd/0                             
     7 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0                             
     8 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_bh                                  
     9 root      20   0       0      0      0 R  0.0  0.0   0:01.15 rcu_sched                               
    10 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 lru-add-drain                           
    11 root      rt   0       0      0      0 S  0.0  0.0   0:00.07 watchdog/0                              
    13 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kdevtmpfs                               
    14 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 netns                                   
    15 root      20   0       0      0      0 S  0.0  0.0   0:00.00 khungtaskd                              
    16 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 writeback                               
    17 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kintegrityd                             
    18 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset                                  
    19 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset 
 第三步:用jobs命令查看有两个进程停止的
 [root@localhost ~]# jobs
[1]-  已停止               sleep 888
[2]+  已停止               sleep 666
第四步:两个进程杀掉
[root@localhost ~]# kill %1

[1]-  已停止               sleep 888
[root@localhost ~]# 
[1]-  已终止               sleep 888
[root@localhost ~]# kill %2

[2]+  已停止               sleep 666
[root@localhost ~]# 
[2]+  已终止               sleep 666
[root@localhost ~]# jobs
[root@localhost ~]# 

2.结束Linux的进程相关命令

命令含义
killkill+进程的pid
pkillpkill+进程名字,类似于模糊查找,误pkill掉其它进程
killallkillall+进程名字,精确查找

1️⃣ kill信号
kill + pid 给发送结束信号
kill -9 +pid 进程号 发送强制结束信号,僵尸进程结束不了,切记别用kill -9 结束数据库进程 防止起不来进程
举例子:当你用pkill把sh的服务给结束了,这是Xshell连接不了虚拟机,此时这就相当于去机房重新启动远程连接服务sshd
在这里插入图片描述
此时在xhell中ping能通,telnet时不通的状态,需要到虚拟机重启ssd服务
在这里插入图片描述
在虚拟机中重启sshd服务,到xshell中就可以连接成功了。
在这里插入图片描述

3.负载

1️⃣ 负载概述
负载 load average 平均负载:1分钟 ,5分钟,15分钟,负载是衡量系统的繁忙程度一个指标,磁盘或者cpu读写
在这里插入图片描述
衡量系统是否繁忙程度:数值接近cpu核心总数,系统的负载就越高。查看cpu核心总数的命令:lscpu
在这里插入图片描述
2️⃣ 负载的含义:
平均负载是指单位时间内,系统处于可运行状态(R,S)和不可中断状态(D)的平均进程数,称为平均活跃进程数
系统负载衡量的是:可运行状态(R,S)占用CPU和不可中断状态(D)(io)
3️⃣ 负载高如何处理?
通过监控软件发现系统负载高:判断cpu和io导致的高
cpu高:top 中的us(user) 用户占用的cpu,sy(system)系统占用的cpu,用命令ps aux 中的cpu使用率那列
io高:top中的wa(wait)磁盘io导致的负载高原因,用命令iotop 默认是全部显示出来,有个选项参数-o 是把正在读写的进程显示出来
模拟负载高的iotop命令查看

第一步:用iotop命令查看
[root@localhost ~]# iotop -o
第二步:
dd  if=/dev/zero of=/tmp/zhx   bs=20M count=700
if input file(文件) 输入文件       if=/dev/zero
of  oufput  输出文件(创建的文件) of=/tmp/zhx
bs  block size 每次读取大小
count    bs*count是文件的大小

在这里插入图片描述
在这里插入图片描述
还有其它的一些命令:strace (显示过程)、ltrace(调用)跟踪过程perf cpu分析

4.系统管理的服务管理模块

systemctl服务管理命令开机自启动服务开启关闭或重启查看所有服务开机自启动情况
systemctl enable xxx(开启服务)systemctl start xxx(当前开启服务)systemctl list-units
systemctl disable xxx(关闭服务)systemctl stop xxx(停止服务)systemctl list-units-files
systemctl restart xxx(重启服务)

1️⃣ 服务管理
服务管理命令systemctl :①开机自启动 (两个步骤:当前和正在运行的) ②管理正在运行的服务(两个步骤:当前和正在运行的)
检查ssd远程连接服务步骤:
1.检查服务状态(显示绿色当前正在运行中)
(1)active (running) 正在运行中
(2)enabled 开机自启动
在这里插入图片描述
(3)如何设置开机自启动
(1)enable 表示开启
(2)disable 表示关闭
在这里插入图片描述
在这里插入图片描述

1.开启
[root@localhost ~]# systemctl enable  xxx服务  
2.当前运行
[root@localhost ~]# systemctl start   xxx服务 

(2)关闭防火墙firewalld

第一步;先模拟开启
[root@localhost ~]# systemctl start firewalld.service
第二步:设置开机自启动
[root@localhost ~]# systemctl enable firewalld.service
第三步:关闭防火墙
[root@localhost ~]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
第四步:检查防火墙是否关闭firewalld
[root@localhost ~]# systemctl status firewalld.service 
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: active (running) since 六 2023-10-21 15:22:46 CST; 6h ago
     Docs: man:firewalld(1)
 Main PID: 967 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─967 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid

10月 21 15:22:43 localhost systemd[1]: Starting firewalld - dynamic firewall daemon...
10月 21 15:22:46 localhost systemd[1]: Started firewalld - dynamic firewall daemon.
[root@localhost ~]# systemctl stop firewalld.service

(3)当改配置文件的时候重启

改完某服务配置文件需要重启配置文件
[root@localhost ~]#systemcctl  restrt  xxx(服务)

(4)查看所有的服务开机自启动的情况

[root@localhost ~]# systemctl list-units 
[root@localhost ~]# systemctl list-unit-files

2️⃣ Linux运行级别
2.1运行级别:Linux的不同运行状态,命令行模式,图形化界面等等…

运行级别CentOS-7运行级别用单词表示CentOS-6运行级别
0关机关机
1救援模式:找回root密码单用户模式:用于找回root密码
2多用户模式无网络的单用户模式
3多用户模式命令行模式,默认模式
4多用户模式未使用
5图形化界面模式(桌面模式)图形化界面模式(桌面模式)
6重启重启

2.2CentOS-7里的运行级别

[root@localhost ~]# ll  /usr/lib/systemd/system/runlevel*.target
lrwxrwxrwx. 1 root root 15 6月  26 16:27 /usr/lib/systemd/system/runlevel0.target -> poweroff.target
lrwxrwxrwx. 1 root root 13 6月  26 16:27 /usr/lib/systemd/system/runlevel1.target -> rescue.target
lrwxrwxrwx. 1 root root 17 6月  26 16:27 /usr/lib/systemd/system/runlevel2.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 6月  26 16:27 /usr/lib/systemd/system/runlevel3.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 6月  26 16:27 /usr/lib/systemd/system/runlevel4.target -> multi-user.target
lrwxrwxrwx. 1 root root 16 6月  26 16:27 /usr/lib/systemd/system/runlevel5.target -> graphical.target
lrwxrwxrwx. 1 root root 13 6月  26 16:27 /usr/lib/systemd/system/runlevel6.target -> reboot.target

在这里插入图片描述
2.3如何修改运行级别

查看当前运行级别:切记不要修改
[root@localhost ~]# systemctl get-default
multi-user.target
[root@localhost ~]# 
修改
[root@localhost ~]# systemctl set-default    xxx(根据需要修改的运行级别)

2.4 运行级别其它命令init

3️⃣ Linux启动流程

CentOS-6 是串行,CentOS-7 是并行

在这里插入图片描述
3.1 当如果CentOS-7.x开机夯住时查看方法步骤
开机之后在这个页面按键盘的ESC键
在这里插入图片描述
当出现这个时是检查哪里出现卡顿的现象的原因
在这里插入图片描述

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值