进程管理初步
补充:
##在任务管理器里面右键Memory
选择status
选项可以查看各个进程的状态
##比如我们打开一个firefox,如果将它最小化后他的状态就会由running变为sleeping状态
[root@localhost Desktop]# gedit
^Z
##ctrl+z
[1]+ Stopped gedit
##可以看到我们将这个进程打入后台后出现了类似于windows系统未响应的状态
[root@localhost Desktop]# bg
##唤醒回前台
[2]+ gedit &
##僵尸进程就是系统程序本身资源技术了,但是他的抓着使用的系统资源不放,这样的叫做僵尸进程,这是因为编写的程序的bug导致的。
##这个在任务管理器里面可以查看活动的进行(正在运行的进程),属于我的进行,所有的进程,还又依附的进程(Dependencies)
##这个是查看硬件设施的占用情况
##查看磁盘的占用情况
##在任务管理器中我们右键一个进程选择stop
,相当于让他变成睡眠状态
##可以看到未响应了
##选择continue让他继续恢复running状态
##已经恢复了
##查看内存中的地址
##firefox运行的时候调用系统的文件都有什么
##进程的属性设置信息
[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
##总结和拓展:
##pstree可以看到哪个进程在另外一个进程下
[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
[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在执行的过程中存在,执行结束后就不存在了 ##我们在将权限改为LOW, ##我们如何修改进程的优先级呢? ##我们如何新建一个进程就修改他的优先级 ##我们再新建一个terminal ##再用新的terminal运行 [1]+ Stopped vim ##拓展:我们查看IP地址 ##如果我们想用一个真机是linux系统远程连接自己的虚拟机,除过secureCRT还可以在真机的terminal中输入: ##systemctl就是管理服务的命令 ##我们在下面加上/sshd查询,发现并没有查询到这个sshd相关的命令 ##static是表示他是固定的,不用管他。 masked表示服务被冻结了,不能开启她,disable表示开机不会自动开启,enable表示开机会自动开启 总结:
##我们将firefox的权限改为HIGH,再查看他的权限状态
[root@localhost ~]# ps -o comm,stat,pid
##发现它的状态变为SCOMMAND 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
[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权限状态为-5Running 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前后台的调用
##最后一个comm & 比如 firefox &,就是将firefox在后台运行了5.进程常用信号
[root@localhost ~]# man 7 signal
##这个命令可以详细查看每个信号的解释,但是有些是不能被我们操作者使用的,常用的就是上面那些1,2,3,9,15,18,19,20
##我们接下来对常用的这个命令进行演示
[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查看ps:
[root@localhost ~]# ps
bash的pid为9359PID 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
[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
[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
[root@localhost ~]# pkill -u cxg -9
##这样子我们的普通用户都关闭了,可以批量关闭用户
##6.进程的动态监控
##在top里面按1就会分开显示cup的运载情况,再按一下就合并显示cpu的运载情况
##top中按s,然后再按1,就会将刷新频率调整为1秒刷新,其他秒同理
##top中按k,然后输入进程pid号,然后询问使用哪种删除方式,默认为15,也可以输入9,强制删除
##top中按q,退出top模式
##可以看到我们的ip地址为192.168.122.1,但是这个后面有个/24,代表的意思是前三位的192.168.122这三个位置为网络位,后面的1为主机位,如果后面是/16,代表前两位为网络位,后两位为主机位,如果后面是/8,代表第一位为网络位,后三位为主机位
[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)
[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
[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的命令,然后再查看他是否可以在list-units里面查询到
[root@localhost Pictures]# systemctl start sshd.service
##打开sshd命令[root@localhost Pictures]# systemctl list-units
##发现可以查询到
[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
[root@localhost Pictures]# systemctl disable sshd.servic
e##这个是设置让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.
##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.