河南郑州网站关键词排名助手,网站怎么制作软件,具有价值的微网站建设,网站服务器选择引言
在Linux 中#xff0c;每个执行的程序#xff08;代码#xff09;都成为一个进程#xff0c;Linux 为每一个进程分配了一个唯一的 id 号 - PID。
每个进程都会对应一个父进程#xff0c;而这个父进程可以复制多个子进程#xff0c;例如 www 服务器。
每个进程都可…引言
在Linux 中每个执行的程序代码都成为一个进程Linux 为每一个进程分配了一个唯一的 id 号 - PID。
每个进程都会对应一个父进程而这个父进程可以复制多个子进程例如 www 服务器。
每个进程都可能以两种方式存在 - 前台/ 后台所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作但由于屏幕上无法看到的进程通常运行在管理员无法感知的后台。
一般系统服务都是以后台进程的形式存在比如 sshd 服务进程其中的 d 代表 daemon 守护进程而且会常驻在系统中如果不进行特殊操作一般只有在关机时才会终止。
一、显示系统中的进程列表
基本语法 ps -aux 一般使用 ps 指令都会带上参数-a 代表 all 所有进程-u 代表 user 以用户格式显示-x 代表显示后台进程运行参数。 字段详解 USER - 进程的用户名 PID - 进程 ID %CPU - 占用 CPU 百分比 %MEM - 占用物理内存百分比 VSZ - 使用的虚拟内存大小单位KB RSS - 使用的物理内存大小单位KB TTY - 终端名称缩写 STAT - 进程状态S - 睡眠s - 表示该进程是会话的先导进程N-表示进程拥有比普通优先级更低的优先级R-正在运行D-短期等待Z-僵死进程T-被跟踪或被停止。 START - 进程启动时间 TIME - 进程占用 CPU 总时间 COMMAND - 进程执行时的命令行过长的话可能会截断显示 另外ps -aux 还可以通过管道符和过滤命令 “| grep 进程名” 来专门查找指定进程的详情信息 可以看到上面的途中查看ssh 进程的信息显示结果中第一行是 sshd 后台进程因为它在启动时使用了 /usr/sbin/sshd 命令。而最后一行可以看到使用的是 grep ssh 也就是我们正在查询时开启的一个进程。第二和第三行是通过外部的 ssh 终端设备连接进来而开启的后台进程第四行则是一个 sftp 相关的后台进程。
有趣的是如果我通过 kill -9 杀掉 3362 进程那么远程终端的文件视图就会连接中断同时第四行的 sftp 后台进程也会终止 终端命令行依然可以操作由此可见进程列表中显示的信息与实际的进程情况完全匹配。
二、查看父进程
还有一种查询进程的方式是 ps -ef 这句指令的意思是“全格式显示所有进程包括父进程”。一般也会配合 管道符 “|” 和 筛选指令 grep 、分页指令 more 等一起使用。 PPID 就是父进程的 PID 。 C 代表CPU 用于计算执行优先级的因子。数值越大表名进程是 CPU 密集型运算执行优先级会降低数值越小表名进程是 IO 密集型运算执行优先级会提高。 STIME 进程启动的时间 TTY 终端名称 TIME CPU 占用时间 CMD 启动进程所用的命令和参数 三、终止进程
基本语法 kill 参数 进程PID 常用参数 -9。
Linux 中的 kill 指令用来终止指定进程的运行。
通常终止一个前台进程只需要 Ctrl C 但是对于一个后台进程就需要使用 kill 指令并且要先查看我们想要终止进程的 PID。
我们来使用 man kill 来查看一下 kill 的使用手册 在描述中的第一段话意思是这样的 指令 kill 发送特定的信号给特定的进程或进程组。如果没有指定信号那么就会发送 TERM 信号。TERM 信号会杀死那些没有捕获这个信号的进程。对于其他的进程可能有必要使用 KILL(9) 信号因为这个信号不会被捕获。 在 kill 说明中有一个参数 是 -l 可以列出所有的可发送信号 因此kill -9 的含义就是强制杀死进程。
四、服务管理
服务的本质其实就是进程但是运行于后台通常会监听某个端口等待其他程序的请求比如mysqldsshd 防火墙等因此我们又称为守护进程
4.1 service指令
在CentOS 7之前都是通过 service 指令来管理后台系统服务CentOS7 之后采用systemctl 指令来进行管理。这里讲解 service 的用法后期会针对 CentOS 7 来进程补充。
基本语法 service 服务名 start | stop | restart | reload | status 案例查看Linux 防火墙的情况关闭并重启防火墙 可以在宿主机终端采用 telnet 指令来检查端口是否可以连接国庆期间又装了一个 CentOS 6 ip 是200 4.2 查看Linux自启动服务
在命令行输入 setup 指令并回车即可查看系统自启动服务 服务名称前面的 [ ] 内如果有 * 号说明此项服务属于开机自启。
除了这种方式还可以通过/etc/init.d/服务名称 文件来查看 不过在这里好像只能看到系统都有哪些服务。
4.3 服务的运行级别
在前面的文章中《Linux进阶之路————Linux运行级别》中总结了关于Linux 系统运行级别的概念和知识这里服务的运行级别也和之前的运行级别是一脉相承的。
首先我们知道Linux 的启动流程是如下所示的 服务的运行级别对应着系统的运行级别如果系统当前的运行级别是3那么5 运行级别的服务就不会开机启动而需要手动操作。
通过 chkconfig 指令可以给每个服务的各个运行级别设置 自启动/ 关闭设置之后即生效。
常用语法 chkconfig --list | grep 服务名 # 查看服务的运行级别状态过滤处理可选 chkconfig 服务名 --list # 查看某个服务的运行级别状态 chkconfig [--level 运行级别编号] 服务名 on | off # 在某个运行级别下开启或关闭自启动若不写运行级别默认全部 案例关闭所有运行级别下的防火墙服务的自启动 五、进程监控
Linux 使用 top 命令来进行进程监控。
top 命令和 ps 命令有些类似它们都用来显示正在执行的进程但二者又有不同top 最大的特点在于可以定期刷新进程列表中的状态。
基本语法 top [选项] 可选参数 -d 秒数 指定top 命令刷新频率默认是 3。 -i 不显示任何闲置或者僵死进程 -p PID 指定进程ID 的进程状态 当进入到 top 的交互模式中时可以通过下面一些参数来与 top 命令进行交互 P 以CPU 使用率排序默认是此项 M 以内存使用率排序 N 以 PID 排序 q 退出 top 命令 输入 top 命令可以显示上图中的信息默认每 3 秒刷新一次如果按下交互键在排序的同时可以立即刷新列表。输入q 可以退出 top 。
上图中up 代表系统启动了多久2 users 表示当前用户数load average 应该是平均负载的意思。其余的选项可以网上搜索或见名猜意 (*︶)。
六、网络监控
6.1 netstat
网络监控采用 netstat 命令。
基本语法 netstat [选项] 常用参数 -an 按一定排序输出 -p 显示哪个进程在调用 案例查看sshd 的服务信息 可以看到如果sshd 服务是关闭的状态的话那么 netstat 也查询不到 sshd 的网络监听状态。
6.2 ping
不论是Windows 还是 Linux 这个命令都是通用的。它是一种检测网络的工具可以快速查看远程主机是否可以连通主机间的介质是否为断网线是否脱落或网卡故障等。 如果两台主机之间可以正常通信那么就会显示上图所示如果通信异常那么就不会显示时间等信息。
综上就是关于系统服务相关的知识总结欢迎文末留言。