一。查看进程
指令:基础的计算机动作。
程序:一系列指令构成的集合,通过程序,可以让计算机完成复杂的操作,程序大多数时候都被存储为文件。
进程:是程序的一个具体实现,即执行进程的过程。
简单来说,可以理解为,一个运行中的程序可以被称为进程。一个运行中的程序可能包含多个进程。
1.查看进程指令 ps(process status)
选项
ps命令经常用管道和grep命令连接起来查找特定的进程
ps -AF|grep sshd
//查找名称中带有sshd字样的进程
2.动态监视系统进程的工具top
与ps不同之处在于top是动态的,默认情况下top命令每3秒钟刷新一次。
选项 | 功能 |
---|---|
-d | 指定更新的间隔,以秒为单位 |
-q | 没有任何延迟的更新 |
-c | 显示进程完整的路径与名称 |
此外还可以使用快捷键与top命令进行交互:
二。操纵进程
操纵命令kill:主要作用为终止进程
kill命令通过向进程发送特定的信号(signal)来操纵进程,可以用i选项列出它能够发送的所有信号。
序号15 SIGTERM :进程终止信号,也是kill命令发送的默认信号
序号9 SIGKILL :Linux中强制终止信号
kill命令往往和ps或者top命令合在一起使用,往往先使用ps或者top获取进程PID,然后使用kill命令向进程发送信号。
kill 5088
//使用默认信号来终止PID5088的进程
kill -9 5088
//使用序号9的信号(强制终止)终止PID5088的进程
SIGKILL会带来一些副作用,如数据丢失或者终端无法恢复到正常状态。
当用kill向进程发送信号的时候,必须是这些进程的主人或者根用户。
kill的两个衍生命令
1.pkill:允许根据进程的各种属性,有选择性地向一个或一批进程发送信号
pkill firefox
//终止firefox浏览器进程
pkill -u nboocer
//终止进程所有者为nboocer的所有进程
2.xkill:图形界面的kill命令,当在终端键入“xkill”,光标将变为一个十字,只需要在不正常应用的图形界面上点击就会立刻终止这个应用。
三。查看和操纵系统服务
在机器上部署一个httpd服务器,让其开机自启动,并确保服务器可访问。
httpd服务器主要功能是给用户提供web服务。它不是一个运行在前台、通过shell或者图形界面和用户交互的进程,而是一个运行在后台,不直接和用户进行交互的进程。
默认情况下,httpd还是一个开机就在后台运行的守护进程。
在启动httpd前,需要用yum来安装httpdyum -y install httpd
安装完成后,使用Systemd系统中提供的一个命令systemctl来启动并查看httpd守护进程。首先,使用systemctl start httpd
让httpd启动,然后用systemctl status httpd
去查看这个服务器的运行状态。
在查看运行状态的输出中,需要了解的有两行:
※以loaded开头的行显示了该服务单元文件的加载状态,“loaded”表示已经被加载到内存中,后面是该服务单元文件的路径,disable表示服务器位设置为开机自启动。
※以active开头的行显示了单元的启动状态,“active (running)”表示已启动成功,服务正在后台运行。
虽然我们正常启动httpd,但这只是一次性的,系统重启后服务不会自动启动,所以我们需要用systemctl enable
启动他,也即开机自启动,然后用systemctl is-enable
命令检查是否成功启动,若出现enable字样,则表示已经启动成功。
若系统中有防火墙,那服务还不能在网络上被访问到,因为系统中的防火墙默认不开放httpd服务所使用的80端口。
系统防火墙同样是一个服务,使用systemctl status firewalld
来查看防火墙守护进程的状态,若状态不是actvie(running) 就表示系统中防火墙没有在跑,无需配置,否则就需要配置系统防火墙,让客户端能够通过80端口来访问httpd服务器。
可通过防火墙服务的文本界面命令firewall-cmd
来允许外部主机访问本主机的80端口,若显示success就表示添加成功。其中“add-service http”表示在防火墙中添加http服务,即开放80端口。
–permanent选项表示该条规则在服务重启后永久生效。