进程管理拓展

进程管理初步


1.ps命令详解

补充:进程管理拓展_第1张图片
##在任务管理器里面右键Memory选择status选项可以查看各个进程的状态
进程管理拓展_第2张图片

##比如我们打开一个firefox,如果将它最小化后他的状态就会由running变为sleeping状态
[root@localhost Desktop]# gedit
^Z##ctrl+z

[1]+ Stopped gedit
进程管理拓展_第3张图片
##可以看到我们将这个进程打入后台后出现了类似于windows系统未响应的状态
[root@localhost Desktop]# bg##唤醒回前台

[2]+ gedit &

进程管理拓展_第4张图片
##可以看到我们的gedit又可以恢复运行了

##僵尸进程就是系统程序本身资源技术了,但是他的抓着使用的系统资源不放,这样的叫做僵尸进程,这是因为编写的程序的bug导致的。
进程管理拓展_第5张图片
##这个在任务管理器里面可以查看活动的进行(正在运行的进程),属于我的进行,所有的进程,还又依附的进程(Dependencies)
进程管理拓展_第6张图片
##这个是查看硬件设施的占用情况
进程管理拓展_第7张图片
##查看磁盘的占用情况
进程管理拓展_第8张图片
##在任务管理器中我们右键一个进程选择stop,相当于让他变成睡眠状态
进程管理拓展_第9张图片
##可以看到未响应了
进程管理拓展_第10张图片
##选择continue让他继续恢复running状态
进程管理拓展_第11张图片
##已经恢复了
进程管理拓展_第12张图片
进程管理拓展_第13张图片
进程管理拓展_第14张图片
##查看内存中的地址
进程管理拓展_第15张图片
进程管理拓展_第16张图片
##firefox运行的时候调用系统的文件都有什么
进程管理拓展_第17张图片
进程管理拓展_第18张图片
##进程的属性设置信息
[root@localhost Desktop]# ps --help##我们先查看ps的帮助信息

Usage:
 ps [options]

 Try 'ps --help '
  or 'ps --help '
 for additional help text.

For more details see ps(1).

##这个提示ps的帮助信息太少,让我们查看ps的详细信息
[root@localhost Desktop]# man ps##查看详细信息,里面用法很多
[cxg@localhost ~]$ firefox##我们先建一个bash
^Z##打入后台后

[1]+  Stopped                 firefox

[cxg@localhost ~]$ ps a##我们以ps a命令可以看到我们的firefox进程

   PID TTY      STAT   TIME COMMAND
  8093 tty1     Ssl+   1:54 /usr/bin/X :0 -background none -noreset -audit 
  9338 pts/0    Ss     0:00 bash
  9384 pts/0    S      0:00 su -
  9403 pts/0    S+     0:00 -bash
 20779 pts/0    S      0:00 dbus-launch --autolaunch=4dd8bf0a62964b709726bb
 27325 pts/1    Ss     0:00 bash
 27442 pts/1    Tl     0:02 /usr/lib64/firefox/firefox
 27502 pts/1    Tl     0:00 /usr/lib64/firefox/firefox -contentproc -childI
 27539 pts/1    Tl     0:00 /usr/lib64/firefox/firefox -contentproc -childI
 27608 pts/1    R+     0:00 ps a

[cxg@localhost ~]$ ps##ps也可以直接看到,但是ps a与ps的区别是什么呢

   PID TTY          TIME CMD
 27325 pts/1    00:00:00 bash
 27442 pts/1    00:00:02 firefox
 27502 pts/1    00:00:00 Web Content
 27539 pts/1    00:00:00 file:// Content
 27624 pts/1    00:00:00 ps

[root@localhost Desktop]# ps##我们使用不是打开firefox的bash可以看到ps命令看不到运行的firefox

   PID TTY          TIME CMD
  9384 pts/0    00:00:00 su
  9403 pts/0    00:00:00 bash
 20779 pts/0    00:00:00 dbus-launch
 27631 pts/0    00:00:00 ps

[root@localhost Desktop]# ps a##但是ps a就可以看到

[root@localhost Desktop]# ps a
   PID TTY      STAT   TIME COMMAND
  8093 tty1     Ssl+   1:58 /usr/bin/X :0 -background none -noreset -audit 
  9338 pts/0    Ss     0:00 bash
  9384 pts/0    S      0:00 su -
  9403 pts/0    S      0:00 -bash
 20779 pts/0    S      0:00 dbus-launch --autolaunch=4dd8bf0a62964b709726bb
 27325 pts/1    Ss     0:00 bash
 27693 pts/1    S      0:00 su -
 27704 pts/1    S      0:00 -bash
 27743 pts/1    S+     0:00 man ps
 27755 pts/1    S+     0:00 less -s
 27837 pts/0    R+     0:00 ps a

##因此我们可以知道,ps是查看当前自己bash下的运行的进程,而ps a 是查看所有bash下运行的进程
`

[root@localhost Desktop]# ps

   PID TTY          TIME CMD
  9384 pts/0    00:00:00 su
  9403 pts/0    00:00:00 bash
 20779 pts/0    00:00:00 dbus-launch
 28032 pts/0    00:00:00 ps

[root@localhost Desktop]# ps -a

   PID TTY          TIME CMD
  9384 pts/0    00:00:00 su
  9403 pts/0    00:00:00 bash
 20779 pts/0    00:00:00 dbus-launch
 27968 pts/1    00:00:00 su
 27979 pts/1    00:00:00 bash
 28013 pts/1    00:00:00 man
 28025 pts/1    00:00:00 less
 28033 pts/0    00:00:00 ps

##我们另外一个bash运行的是man ps,但是我们用另外的bash查看到了他的进程


##ps -A 显示出当前系统所有的进程,ps -a显示当前环境下的所有进程,但是不包含环境(bash)本身的进程信息
##ps -A 和ps -e一个效果,ps x是显示出来所有有终端的进程(pts/0,pts/1等等),与ps -A的区别是:显示了部分ps -A的内容

[root@localhost Desktop]# ps x |wc -l

206

[root@localhost Desktop]# ps -A |wc -l

291

##系统中的很多进程是没有字符设备(终端的)
[root@localhost Desktop]# ps e##显示进程调用的系统资源,比ps多个解释

 PID TTY      STAT   TIME COMMAND
  8093 tty1     Ssl+   2:02 /usr/bin/X :0 -background none -noreset -audit
  9384 pts/0    S      0:00 su - XDG_VTNR=1 SSH_AGENT_PID=8642 XDG_SESSION
  9403 pts/0    S      0:00 -bash TERM=xterm-256color HOME=/root SHELL=/bi
 20779 pts/0    S      0:00 dbus-launch --autolaunch=4dd8bf0a62964b709726b
 27968 pts/1    S      0:00 su - XDG_VTNR=1 SSH_AGENT_PID=8642 XDG_SESSION
 27979 pts/1    S      0:00 -bash TERM=xterm-256color HOME=/root SHELL=/bi
 28013 pts/1    S+     0:00 man ps XDG_VTNR=1 XDG_SESSION_ID=1 HOSTNAME=lo
 28025 pts/1    S+     0:00 less -s XDG_VTNR=1 XDG_SESSION_ID=1 HOSTNAME=l
 28118 pts/0    R+     0:00 ps e XDG_VTNR=1 XDG_SESSION_ID=1 HOSTNAME=loca

[root@localhost Desktop]# firefox
Running without a11y support!
^Z

[1]+  Stopped                 firefox

[root@localhost Desktop]# ps

   PID TTY          TIME CMD
  9384 pts/0    00:00:00 su
  9403 pts/0    00:00:00 bash
 20779 pts/0    00:00:00 dbus-launch
 28164 pts/0    00:00:07 firefox
 28331 pts/0    00:00:00 Web Content
 28373 pts/0    00:00:00 Web Content
 28433 pts/0    00:00:00 Web Content
 28458 pts/0    00:00:00 ps

[root@localhost Desktop]# ps f##显示层级结构,可以看到这个bash层级(pts/0)下运行了个firxfox,另外一个层级(pts/1)下运行了个man ps

   PID TTY      STAT   TIME COMMAND
 27968 pts/1    S      0:00 su -
 27979 pts/1    S      0:00  \_ -bash
 28013 pts/1    S+     0:00      \_ man ps
 28025 pts/1    S+     0:00          \_ less -s
  9384 pts/0    S      0:00 su -
  9403 pts/0    S      0:00  \_ -bash
 28164 pts/0    Tl     0:07      \_ /usr/lib64/firefox/firefox
 28331 pts/0    Tl     0:00      |   \_ /usr/lib64/firefox/firefox -conten
 28373 pts/0    Tl     0:00      |   \_ /usr/lib64/firefox/firefox -conten
 28433 pts/0    Tl     0:00      |   \_ /usr/lib64/firefox/firefox -conten
 28459 pts/0    R+     0:00      \_ ps f
  8093 tty1     Ssl+   2:03 /usr/bin/X :0 -background none -noreset -audit
 20779 pts/0    S      0:00 dbus-launch --autolaunch=4dd8bf0a62964b709726b

[root@localhost Desktop]# ps -u##显示用户的进程信息

USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root       8093  0.1  2.3 354940 47492 tty1     Ssl+ Jun03   2:04 /usr/bin
root       9384  0.0  0.2 232652  4832 pts/0    S    Jun03   0:00 su -
root       9403  0.0  0.1 116464  3232 pts/0    S    Jun03   0:00 -bash
root      20779  0.0  0.0  58892   968 pts/0    S    13:33   0:00 dbus-lau
root      27968  0.0  0.2 232652  4832 pts/1    S    20:11   0:00 su -
root      27979  0.0  0.1 116232  2892 pts/1    S    20:11   0:00 -bash
root      28013  0.0  0.1 119736  2416 pts/1    S+   20:11   0:00 man ps
root      28025  0.0  0.0 110308   968 pts/1    S+   20:11   0:00 less -s
root      28164  1.8 12.7 2254988 258756 pts/0  Tl   20:21   0:07 /usr/lib
root      28331  0.2  4.3 1748568 88184 pts/0   Tl   20:21   0:00 /usr/lib
root      28373  0.1  3.1 1683780 63208 pts/0   Tl   20:21   0:00 /usr/lib
root      28433  0.1  2.4 1676992 49568 pts/0   Tl   20:21   0:00 /usr/lib
root      28581  0.0  0.0 155360  1888 pts/0    R+   20:28   0:00 ps u

##总结和拓展:
进程管理拓展_第19张图片
进程管理拓展_第20张图片
##pstree可以看到哪个进程在另外一个进程下
进程管理拓展_第21张图片
进程管理拓展_第22张图片
[root@localhost Desktop]# ps -o comm

COMMAND
su
bash
dbus-launch
firefox
Web Content
Web Content
Web Content
ps

[root@localhost Desktop]# ps -o user

USER
root
root
root
root
root
root
root
root

[root@localhost Desktop]# ps -o group

GROUP
cxg
root
root
root
root
root
root
root

[root@localhost Desktop]# ps -o comm,pid,%cpu

COMMAND            PID %CPU
su                9384  0.0
bash              9403  0.0
dbus-launch      20779  0.0
firefox          28164  0.9
Web Content      28331  0.1
Web Content      28373  0.0
Web Content      28433  0.0
ps               28673  0.0

[root@localhost Desktop]# ps -o comm,pid,%cpu,user

COMMAND            PID %CPU USER
su                9384  0.0 root
bash              9403  0.0 root
dbus-launch      20779  0.0 root
firefox          28164  0.8 root
Web Content      28331  0.1 root
Web Content      28373  0.0 root
Web Content      28433  0.0 root
ps               28682  0.0 root

[root@localhost Desktop]# ps --sort=%mem -o %mem,comm##按照从小到大的顺序查看内存占用情况

%MEM COMMAND
 0.0 dbus-launch
 0.0 ps
 0.1 bash
 0.2 su
 2.4 Web Content
 3.1 Web Content
 4.3 Web Content
12.7 firefox

[root@localhost Desktop]# ps --sort=-%mem -o %mem,comm##按照从大到小(前面加上减号)的顺序查看内存的大小情况

%MEM COMMAND
12.7 firefox
 4.3 Web Content
 3.1 Web Content
 2.4 Web Content
 0.2 su
 0.1 bash
 0.0 ps
 0.0 dbus-launch

2.进程状态查看和优先级修改

进程管理拓展_第23张图片
[root@localhost ~]# firefox &

[1] 9380
[root@localhost ~]# Running without a11y support!

[root@localhost ~]# ps

   PID TTY          TIME CMD
  9313 pts/0    00:00:00 su
  9320 pts/0    00:00:00 bash
  9380 pts/0    00:00:07 firefox
  9388 pts/0    00:00:00 dbus-launch
  9467 pts/0    00:00:01 Web Content
  9596 pts/0    00:00:00 Web Content
  9645 pts/0    00:00:00 ps

[root@localhost ~]# ps -o comm,stat,pid

COMMAND         STAT    PID
su              S      9313
bash            S      9320
firefox         Sl     9380
dbus-launch     S      9388
Web Content     Sl     9467
Web Content     Sl     9596
ps              R+     9668

##可以看到stat里面的bash是状态是Ss(相当于世界上第一个人),而这个Ss代表的是他是顶级的进程,而firefox的进程状态为SL,这个SL代表某个进程的子进程,这个L代表系统在内存中有锁定空间的,就是将浏览器中的浏览过的一些内容缓存到锁定空间中,ps的进程R+代表是正在被cpu运行,我们的ps在执行的过程中存在,执行结束后就不存在了
进程管理拓展_第24张图片
##我们将firefox的权限改为HIGH,再查看他的权限状态
[root@localhost ~]# ps -o comm,stat,pid##发现它的状态变为S

COMMAND         STAT    PID
su              S      9313
bash            S      9320
firefox         S<l   11173
dbus-launch     S     11181
Web Content     Sl    11246
Web Content     Sl    11363
ps              R+    11828

##我们在将权限改为LOW,

进程管理拓展_第25张图片
[root@localhost ~]# ps -o comm,stat,pid##发现他的状态改为SNL了,优先级低

COMMAND         STAT    PID
su              S      9313
bash            S      9320
firefox         SNl   11173
dbus-launch     S     11181
Web Content     Sl    11246
Web Content     Sl    11363
ps              R+    11867

##我们如何修改进程的优先级呢?

[root@localhost ~]# renice -n 0 11173##使用renice命令加上-n 后面加上优先级的数字(0)再加上pid号码(这里firefox的进程号为11173)就可以修改了

11173 (process ID) old priority 5, new priority 0

[root@localhost ~]# ps -o comm,stat,pid##可以看到firefox的stat已经修改了

COMMAND         STAT    PID
su              S      9313
bash            S      9320
firefox         Sl    11173
dbus-launch     S     11181
Web Content     Sl    11246
Web Content     Sl    11363
ps              R+    12490

##我们如何新建一个进程就修改他的优先级
[root@localhost ~]# nice -n -5 firefox##直接使用nice命令加上-5 加上进程名字,让新创建的firefox权限状态为-5

Running without a11y support!

 
^Z
[1]+  Stopped                 nice -n -5 firefox

[root@localhost ~]# ps -o comm,stat,pid

COMMAND         STAT    PID
su              S      9313
bash            S      9320
dbus-launch     S     11181
firefox         T<l   12660
Web Content     T<l   12724
file:// Content T<l   12762
ps              R+    12814

4.shell前后台的调用

进程管理拓展_第26张图片
##最后一个comm & 比如 firefox &,就是将firefox在后台运行了

5.进程常用信号

进程管理拓展_第27张图片
进程管理拓展_第28张图片
进程管理拓展_第29张图片
进程管理拓展_第30张图片
[root@localhost ~]# man 7 signal##这个命令可以详细查看每个信号的解释,但是有些是不能被我们操作者使用的,常用的就是上面那些1,2,3,9,15,18,19,20

进程管理拓展_第31张图片
##我们接下来对常用的这个命令进行演示
[root@localhost ~]# ps##查看bash的pid号

  PID TTY          TIME CMD
  9313 pts/0    00:00:00 su
  9320 pts/0    00:00:00 bash
 11181 pts/0    00:00:00 dbus-launch
 12660 pts/0    00:00:02 firefox
 12724 pts/0    00:00:00 Web Content
 12762 pts/0    00:00:00 file:// Content
 14093 pts/0    00:00:00 ps

[root@localhost ~]# sdadasdsadasdasds^C##我们在bash中输入一行命令然后CTRL+c停止后就是这个状态
[root@localhost ~]# sdadsadasdas##我们重新再输入一行命令
##我们在新打开一个terminal,然后运行
[root@localhost ~]# kill -2 9320##我们删除前面那个bash(pid号为9320)的内存数据,
[root@localhost ~]# sdadsadasdas^C##可以看到前面那个bash本来我们输入的命令行自动给他停止了
[root@localhost ~]# ps

PID TTY          TIME CMD
  9353 pts/0    00:00:00 su
  9359 pts/0    00:00:00 bash
  9524 pts/0    00:00:00 ps

[root@localhost ~]# kill -3 9359##这个相当于把系统的bash的鼠标关掉(显示不出来鼠标)

[root@localhost ~]# gedit##新建一个gedit

^Z
[1]+  Stopped                 gedit

[root@localhost ~]# bg##打入后台,发现她不能运行了

[1]+ gedit &

[root@localhost ~]# ps##查看gedit的进程号

   PID TTY          TIME CMD
  9353 pts/0    00:00:00 su
  9359 pts/0    00:00:00 bash
  9648 pts/0    00:00:00 gedit
  9654 pts/0    00:00:00 dbus-launch
  9708 pts/0    00:00:00 ps

[root@localhost ~]# kill -20 9648##我们将gedit打入后台,发现没有被阻塞,然后发现依然不能使用

[1]+  Stopped                 gedit

[root@localhost ~]# kill -18 9648##用18将暂停的后台运行,发现gedit又可以使用

##我们再新建一个terminal
先用原来的terminal查看ps:
[root@localhost ~]# psbash的pid为9359

PID TTY          TIME CMD
  9353 pts/0    00:00:00 su
  9359 pts/0    00:00:00 bash
  9648 pts/0    00:00:00 gedit
  9654 pts/0    00:00:00 dbus-launch
  9765 pts/0    00:00:00 ps

##再用新的terminal运行
[root@localhost ~]# kill -20 9359##运行后发现旧的bash依然可以运行,说明他被堵塞了
[root@localhost ~]# kill -19 9359##运行后旧的bash未响应了,发现bash被暂停了。
[root@localhost ~]# kill -18 9359##运行18命令恢复运行


[root@localhost ~]# kill -1 9359##相当于以前学的systemtel restart,让系统的配置被修改后,重新读取新设置的配置,还不用关闭systemtel stop。
[root@localhost ~]# vim &

[1] 11246

[root@localhost ~]# vim &

[2] 11247

[1]+ Stopped vim
[root@localhost ~]# vim &

[3] 11248

[2]+  Stopped                 vim

[root@localhost ~]# ps

 PID TTY          TIME CMD
  9466 pts/1    00:00:00 su
  9477 pts/1    00:00:00 bash
 11246 pts/1    00:00:00 vim
 11247 pts/1    00:00:00 vim
 11248 pts/1    00:00:00 vim
 11249 pts/1    00:00:00 ps

[3]+  Stopped                 vim

[root@localhost ~]# killall -9 vim##可以直接关闭所有的vim进程,实现批量化管理

[1]   Killed                  vim
[3]+  Killed                  vim
[2]+  Killed                  vim

进程管理拓展_第32张图片
[root@localhost ~]# pkill -u cxg -9##这样子我们的普通用户都关闭了,可以批量关闭用户
进程管理拓展_第33张图片
##6.进程的动态监控
进程管理拓展_第34张图片
##在top里面按1就会分开显示cup的运载情况,再按一下就合并显示cpu的运载情况
##top中按s,然后再按1,就会将刷新频率调整为1秒刷新,其他秒同理
##top中按k,然后输入进程pid号,然后询问使用哪种删除方式,默认为15,也可以输入9,强制删除
##top中按q,退出top模式


##拓展:我们查看IP地址
进程管理拓展_第35张图片
##可以看到我们的ip地址为192.168.122.1,但是这个后面有个/24,代表的意思是前三位的192.168.122这三个位置为网络位,后面的1为主机位,如果后面是/16,代表前两位为网络位,后两位为主机位,如果后面是/8,代表第一位为网络位,后三位为主机位


##如果我们想用一个真机是linux系统远程连接自己的虚拟机,除过secureCRT还可以在真机的terminal中输入:
[root@localhost ~]# ssh [email protected]##这个格式为ssh + 连接的虚拟机的用户+虚拟机的IP地址,这里我们也可以连接cxg用户:[root@localhost ~]# ssh [email protected],有时候我们切换的时候不需要输入密码,那是因为虚拟机里面的ssh文件配置设置为不需要密码,如果我们使用[root@localhost ~]# rm -fr ~/.ssh/来删除ssh配置文件,再次切换的时候就需要输入密码了,接下来我们就可以进行文件的远程控制,比如说我们在真机中输入:
[root@localhost ~]# cd /home/cxg/Desktop/
[root@localhost Desktop]# touch file{1..100}
这下我们的虚拟机中就会创建100个文件
##但是我们如何将虚拟机的文件移动到真机呢?
假设首先我们在虚拟机中截图一张(prtsc)
进程管理拓展_第36张图片
[root@localhost ~]# cd /home/cxg/Pictures/
[root@localhost Pictures]# ls

Screenshot from 2020-06-06 10-52-06.png

[root@localhost Pictures]# scp Screenshot from 2020-06-06 [email protected]:/home/cxg/Desktop/
##我们为什么可以进行真机与虚拟机的交互呢?
是因为我们的服务机(被操控的)提供给操控他的这个服务比如我们针对用户远程连接的sshd命令
[root@localhost Pictures]# systemctl status sshd.service##我们先查看这个sshd命令的运行状态,可以看到他是running 的就是可以使用的

● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2020-06-06 05:42:34 CST; 9h ago
     Docs: man:sshd(8)
           man:sshd_config(5)
 Main PID: 7637 (sshd)
    Tasks: 1
   CGroup: /system.slice/sshd.service
           └─7637 /usr/sbin/sshd -D

Jun 06 05:42:33 localhost.localdomain systemd[1]: Starting OpenS...
Jun 06 05:42:34 localhost.localdomain sshd[7637]: Server listeni...
Jun 06 05:42:34 localhost.localdomain sshd[7637]: Server listeni...
Jun 06 05:42:34 localhost.localdomain systemd[1]: Started OpenSS...
Jun 06 10:48:29 localhost.localdomain sshd[11265]: Address 192.1...
Jun 06 10:48:29 localhost.localdomain sshd[11265]: Connection cl...
Hint: Some lines were ellipsized, use -l to show in full.

root@localhost Pictures]# systemctl stop sshd.service##我们现在关掉他的服务权限
[root@localhost Pictures]# systemctl status sshd.service##可以看到已经关闭了

● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Sat 2020-06-06 15:08:27 CST; 2s ago
     Docs: man:sshd(8)
           man:sshd_config(5)
  Process: 7637 ExecStart=/usr/sbin/sshd -D $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 7637 (code=exited, status=0/SUCCESS)

Jun 06 05:42:33 localhost.localdomain systemd[1]: Starting OpenS...
Jun 06 05:42:34 localhost.localdomain sshd[7637]: Server listeni...
Jun 06 05:42:34 localhost.localdomain sshd[7637]: Server listeni...
Jun 06 05:42:34 localhost.localdomain systemd[1]: Started OpenSS...
Jun 06 10:48:29 localhost.localdomain sshd[11265]: Address 192.1...
Jun 06 10:48:29 localhost.localdomain sshd[11265]: Connection cl...
Jun 06 15:08:27 localhost.localdomain sshd[7637]: Received signa...
Jun 06 15:08:27 localhost.localdomain systemd[1]: Stopping OpenS...
Jun 06 15:08:27 localhost.localdomain systemd[1]: Stopped OpenSS...
Hint: Some lines were ellipsized, use -l to show in full.

[root@localhost Pictures]# ssh [email protected]##现在我们就不能实现远程连接了

ssh: connect to host 192.168.122.1 port 22: Connection refused

##systemctl就是管理服务的命令


[root@localhost Pictures]# systemctl list-units##这个命令是查看systemctl命令是否打开的命令,这个里面罗列的是所有打开的systemctl的命令,下面只复制了部分

UNIT                      LOAD   ACTIVE SUB       DESCRIPTION
proc-sys-fs-binfmt_misc.automount loaded active waiting   Arbitrary
sys-devices-pci0000:00-0000:00:10.0-host0-target0:0:0-0:0:0:0-block
sys-devices-pci0000:00-0000:00:10.0-host0-target0:0:0-0:0:0:0-block
sys-devices-pci0000:00-0000:00:10.0-host0-target0:0:0-0:0:0:0-block
sys-devices-pci0000:00-0000:00:11.0-0000:02:01.0-net-ens33.device l
sys-devices-pci0000:00-0000:00:11.0-0000:02:02.0-sound-card0.device
sys-devices-pci0000:00-0000:00:11.0-0000:02:05.0-ata4-host4-target4
sys-devices-platform-serial8250-tty-ttyS1.device loaded active plug
sys-devices-platform-serial8250-tty-ttyS2.device loaded active plug
sys-devices-platform-serial8250-tty-ttyS3.device loaded active plug
sys-devices-pnp0-00:05-tty-ttyS0.device loaded active plugged   /sy
sys-devices-virtual-block-dm\x2d0.device loaded active plugged   /s
sys-devices-virtual-block-dm\x2d1.device loaded active plugged   /s
sys-devices-virtual-net-virbr0.device loaded active plugged   /sys/
sys-devices-virtual-net-virbr0\x2dnic.device loaded active plugged 
sys-module-configfs.device loaded active plugged   /sys/module/conf
sys-module-fuse.device    loaded active plugged   /sys/module/fuse
sys-subsystem-net-devices-ens33.device loaded active plugged   8254

##我们在下面加上/sshd查询,发现并没有查询到这个sshd相关的命令
进程管理拓展_第37张图片
在这里插入图片描述
##说明这个命令是关闭的,那么我们现在重新打开这个sshd的命令,然后再查看他是否可以在list-units里面查询到
[root@localhost Pictures]# systemctl start sshd.service##打开sshd命令

[root@localhost Pictures]# systemctl list-units##发现可以查询到

进程管理拓展_第38张图片
[root@localhost Pictures]# systemctl list-unit-files##这个是查看开机的时候某些服务是否会自动打开

UNIT FILE                                     STATE   
proc-sys-fs-binfmt_misc.automount             static  
dev-hugepages.mount                           static  
dev-mqueue.mount                              static  
proc-fs-nfsd.mount                            static  
proc-sys-fs-binfmt_misc.mount                 static  
sys-fs-fuse-connections.mount                 static  
sys-kernel-config.mount                       static  
sys-kernel-debug.mount                        static  
tmp.mount                                     disabled
var-lib-nfs-rpc_pipefs.mount                  static  
brandbot.path                                 enabled 
cups.path                                     enabled 
systemd-ask-password-console.path             static  

##static是表示他是固定的,不用管他。 masked表示服务被冻结了,不能开启她,disable表示开机不会自动开启,enable表示开机会自动开启
进程管理拓展_第39张图片
[root@localhost Pictures]# systemctl disable sshd.service##这个是设置让sshd开机不会自动启动

Removed symlink /etc/systemd/system/multi-user.target.wants/sshd.service.

[root@localhost Pictures]# systemctl status sshd.service##我们查看sshd的状态,发现他还是running状态,为何,这是因为disable只能设置他的开机后的状态,让他开机后不会再启动,但是当前的状态需要systemctl stop sshd.service来进行设置,但是他们的区别就是这次我们看到的status里面多了一个disable的介绍

● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; disabled; vendor preset: enabled)
   Active: active (running) since Sat 2020-06-06 15:15:17 CST; 12min ago
     Docs: man:sshd(8)
           man:sshd_config(5)
 Main PID: 15082 (sshd)
   CGroup: /system.slice/sshd.service
           └─15082 /usr/sbin/sshd -D

Jun 06 15:15:17 localhost.localdomain systemd[1]: Starting OpenS...
Jun 06 15:15:17 localhost.localdomain sshd[15082]: Server listen...
Jun 06 15:15:17 localhost.localdomain sshd[15082]: Server listen...
Jun 06 15:15:17 localhost.localdomain systemd[1]: Started OpenSS...
Hint: Some lines were ellipsized, use -l to show in full.

总结:


进程管理拓展_第40张图片
在这里插入图片描述
##systemctl reload sshd,就是我们前面讲的top的1命令,让系统在不关闭的情况下直接加载新的命令(就是将stop和start合并)
[root@localhost Pictures]# systemctl list-dependencies sshd.service##查看

sshd.service
● ├─sshd-keygen.service
● ├─system.slice
● └─basic.target
●   ├─microcode.service
●   ├─rhel-dmesg.service
●   ├─selinux-policy-migrate-local-changes@targeted.service
●   ├─paths.target
●   ├─slices.target
●   │ ├─-.slice
●   │ └─system.slice
●   ├─sockets.target
●   │ ├─avahi-daemon.socket
●   │ ├─cups.socket
●   │ ├─dbus.socket
●   │ ├─dm-event.socket
●   │ ├─iscsid.socket
●   │ ├─iscsiuio.socket
●   │ ├─rpcbind.socket
●   │ ├─spice-vdagentd.socket
●   │ ├─systemd-initctl.socket
●   │ ├─systemd-journald.socket
●   │ ├─systemd-shutdownd.socket
●   │ ├─systemd-udevd-control.socket
●   │ ├─systemd-udevd-kernel.socket
●   │ ├─virtlockd.socket
●   │ └─virtlogd.socket
●   ├─sysinit.target
●   │ ├─dev-hugepages.mount

[root@localhost Pictures]# systemctl status cups.service##这个里面static的作用就是有进程需要她,他就自动开启,不需要他的时候就自动关闭

● cups.service - CUPS Printing Service
   Loaded: loaded (/usr/lib/systemd/system/cups.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2020-06-06 05:42:33 CST; 9h ago
 Main PID: 7640 (cupsd)
    Tasks: 1
   CGroup: /system.slice/cups.service
           └─7640 /usr/sbin/cupsd -f

Jun 06 05:42:33 localhost.localdomain systemd[1]: Started CUPS P...
Hint: Some lines were ellipsized, use -l to show in full.

你可能感兴趣的:(q'we,linux)