Linux-网络配置和进程管理

Posted 小企鹅推雪球!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux-网络配置和进程管理相关的知识,希望对你有一定的参考价值。

Linux的网络配置

Linux自动获取网络配置

  1. 自动获取网络配置比较简单,但是每次启动Linux后,分配的ip地址可能不一样,所有,自动获取网络配置不适合做服务器

第一步 配置固定的ip地址

  1. 查询虚拟机的网络配置:vim /etc/sysconfig/network-scripts/ifcfg-eth0
  2. 这是我的虚拟机的网络文件
EVICE=eth0
HWADDR=00:0C:29:2A:D4:D1
TYPE=Ethernet
UUID=7a31255a-e65d-4e63-988e-7736d02d22cf
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.91.1
NETMASK=255.255.255.0
GATEWAY=192.168.91.2
DNS1=192.168.91.1
  1. ONBOOT=yes,这选项默认是 no,是关于网络配置的开关,需要设置为yes
  2. BOOTPROTO=static.设置为static设置为静态的,表示会使用自定义的网络配置信息·
  3. IPADDR=192.168.91.0:这是我自己配置的虚拟机网络ip信息,等我们配置网络信息的时候,会按照这个ip信息配置虚拟机的网络,这个可以自己配置
  4. GATEWAY=192.168.91.2 表示配置的网络网关地址,然后也是自己设置的
  5. DNS1=192.168.91.1 代表域名解析器,是自己的设置的,域名解析器,需要配置的信息和网关一致

如果希望配置生效使用reboot指令重新启动虚拟机后,在终端中再使用service network restart //重新启动网络服务

第二步:修改主机名

  1. 查看当前主机名:hostname
  2. 修改linux的主机映射文件:vim /etc/sysconfig/network
    文件中的内容
    NETWORKING=yes
    HOSTNAME=CentOS // 这是我的主机名,是可以自己设置的,但是主机名称不要有“_”下划线
  3. 修改 /etc/hosts 增加ip和主机的映射
    192.168.91.1 CentOS
  4. 然后,重启虚拟机,配置生效
  5. 如果希望windows也可以通过主机名来连接CentOS,进入C:\\Windows\\System32\\drivers\\etc\\hosts
  6. 最后在Windows 中ping一下
C:\\Users\\asus>ping 192.168.91.1
正在 Ping 192.168.91.1 具有 32 字节的数据:
来自 192.168.91.1 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.91.1 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.91.1 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.91.1 的回复: 字节=32 时间<1ms TTL=64

192.168.91.1 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 0ms,最长 = 0ms,平均 = 0ms

Linux进程管理

  1. 在Linux中,每个执行的程序(代码)都称为一个进程,每一个进程分配一个ID号
  2. 每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程
  3. 每个进程都可能以两种方式存在的,前台和后台,
  4. 前台进程就是用户目前的屏幕上可以进行操作
  5. 后台进程则是实际在操作,但是由于屏幕上无法看到的进程
  6. 一般系统的服务器都是以后台进程的方式存在,而且都会常驻在系统中,直到关机才结束

显示系统执行的进程

  1. ps -aux:显示所有的进程
[ryx@CentOS 桌面]$ ps -aux
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.0  19356  1560 ?        Ss   02:50   0:01 /sbin/init
root          2  0.0  0.0      0     0 ?        S    02:50   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    02:50   0:00 [migration/0]
root          4  0.0  0.0      0     0 ?        S    02:50   0:00 [ksoftirqd/0]
root          5  0.0  0.0      0     0 ?        S    02:50   0:00 [stopper/0]
root          6  0.0  0.0      0     0 ?        S    02:50   0:00 [watchdog/0]
root          7  0.0  0.0      0     0 ?        S    02:50   0:00 [migration/1]
root          8  0.0  0.0      0     0 ?        S    02:50   0:00 [stopper/1]
root          9  0.0  0.0      0     0 ?        S    02:50   0:00 [ksoftirqd/1]
root         10  0.0  0.0      0     0 ?        S    02:50   0:00 [watchdog/1]
  1. ps -aux | grep sshd //查看sshd进程,sshd是服务器守护进程
[ryx@CentOS 桌面]$ ps -aux |grep sshd
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root       2344  0.0  0.0  66236  1168 ?        Ss   02:51   0:00 /usr/sbin/sshd
[ryx@CentOS 桌面]$ 0  0.0 103332   856 pts/0    S+   21:53   0:00 grep sshd
[ryx@CentO
  1. ps -aux | grep xxx :查看虚拟机有没有xxx 服务

指令说明

  1. System V :展示风格
  2. USER:用户名称
  3. PID:进程号
  4. %CPU:进程占用CPU的百分比
  5. %MEM:进程占用物理内存的百分比
  6. VSZ:进程占用的虚拟内存的大小(单位:KB)
  7. RSS:进程占用的物理内存大小(单位:KB)
  8. TTY:终端名称,缩写
  9. STAT:进程状态,
    1. 常见的进程状态
    2. S:表示进程处于睡眠,
    3. s-表示该进程是会话的先导进程
    4. N-表示进程拥有比普通优先级更低的优先级
    5. R-正在运行
    6. D-短期等待
    7. Z-僵死的进程
    8. T-被跟踪或者被停止等等
  10. STARTED:进程的启动时间
  11. TIME:CPU时间,即进程使用CPU的总时间
  12. COMMAND:启动进程所用命令和参数,如果过长会被截断显示

终止进程 kill和killall

  1. 终止进程介绍:如果是某个进程执行一半需要停止时,或是已经消耗了很大的系统资源时,可以考停止该进程,使用kill命令来完成停止进程的任务
  2. kill和killall语法:
    1. kill [选项] 进程号(功能描述:通过进程号杀死进程 -9 表示强制终止)
    2. killall 进程名称 (表示:通过进程名称杀死进程,也支持使用通配符,使用killall结束进程系统因为负载过大的时很有用)
  3. 常用选项:-9 表示强迫进程立即停止
  4. 应用案例
    1. 终止多个gedit编辑器:killall gedit
    2. 强制杀掉一个终端;对于bash:kill -9 对应的bash的进程号

查看进程数 pstree

  1. 基本语法:pstree [选项] 可以更加直观的查看进程信息
  2. 常用选项
    1. -p :显示进程的PID,PID是进程的标识符
    2. -u :显示进程所属用户
  3. 应用案例:
    1. 用树状的形式显示进程的PID:Pstree -p
    2. 用树状的形式显示进程的用户id:Pstree -uPstree -pu

服务Service管理

  1. 服务Service的本质就是进程,但是是运行在后台的,通过会监听某个端口,等待其他程序的请求,比如(mysql,sshd,防火墙),因此我们又称之为守护进程
  2. Service 管理指令
    1. service 服务名 [start | stop | restart | reload | status ]
    2. 注意:在CentOS7.0后,不再使用service ,而是systemctl
[root@CentOS ~]# chkconfig --list
NetworkManager 	0:关闭	1:关闭	2:启用	3:启用	4:启用	5:启用	6:关闭
abrt-ccpp      	0:关闭	1:关闭	2:关闭	3:启用	4:关闭	5:启用	6:关闭
abrtd          	0:关闭	1:关闭	2:关闭	3:启用	4:关闭	5:启用	6:关闭
acpid          	0:关闭	1:关闭	2:启用	3:启用	4:启用	5:启用	6:关闭
atd            	0:关闭	1:关闭	2:关闭	3:启用	4:启用	5:启用	6:关闭
auditd         	0:关闭	1:关闭	2:启用	3:启用	4:启用	5:启用	6:关闭
autofs         	0:关闭	1:关闭	2:关闭	3:启用	4:启用	5:启用	6:关闭
blk-availability	0:关闭	1:启用	2:启用	3:启用	4:启用	5:启用	6:关闭
bluetooth      	0:关闭	1:关闭	2:关闭	3:启用	4:启用	5:启用	6:关闭
certmonger     	0:关闭	1:关闭	2:关闭	3:启用	4:启用	5:启用	6:关闭
cpuspeed       	0:关闭	1:启用	2:启用	3:启用	4:启用	5:启用	6:关闭
crond          	0:关闭	1:关闭	2:启用	3:启用	4:启用	5:启用	6:关闭
  1. 关闭或者启动防火墙后,立即生效,telnet测试,某个端口即可
  2. Service iptables stopservice iptables start设置的服务只是临时生效,当重启系统后,还是回归以前对服务的设置
  3. 如果希望设置某个服务自启动或关闭永久生效,要使用chkconfig指令

chkconfig 指令

  1. 通过chkconfig命令可以给每个服务的各个运行级别设置自启动/关闭
  2. chkconfig基本语法:
    1. 查看服务:chkconfig --list | grep xxx
    2. chkconfig --level 5 服务名 on/off [可以指定某个服务,各个运行级别,开启或关闭]
    3. sshd 服务在1 运行级别 off
    4. chkconfig --level 1 sshd off/on
    5. chkconfig 服务名 on/off
    6. iptables 彻底关闭服务进程,chkconfig iptables off [不管是哪个级别都会被关闭]
  3. chkconfig 指令案例
    1. 显示当前系统所有服务的各个级别的运行状态
      chkconfig --list
    2. 查看sshd服务的运行状态
      chkconfig sshd --listchkconfig --list | grep sshd
    3. 将sshd服务在运行级别5下设置为不自动启动
      chkconfig --level 5 sshd off
    4. 当运行级别为5时,关闭防火墙
      chkconfig --level 5 iptables off
    5. 在所有运行级别下,关闭防火墙
      chkconfig iptables off
    6. 在所有运行级别下,开启防火墙
      chkconfig iptables on
  4. 注意:chkconfig重新设置服务后自启动或关闭,重启机器就会按照设置的状态运行

动态监控进程

  1. top与ps命令相似,都是用来显示正在执行的进程
  2. top与pps最大的不同之处,在于top在执行一段时间可以更新正在运行的进程,默认时每3秒变化一次
  3. top基本语法
    1. top -d 秒数 :指定top命令每隔几秒更新,默认是3秒,在top命令的交互模式中,可以执行的命令
    2. top -i;使top不显示任何限制或者僵死进程
    3. top -p :通过指定监控进程ID来仅仅监控某个进程的状态
  4. top交互操作指令
    1. p 以cpu使用了排序,默认就是此
    2. M ;以内存的使用率排序
    3. N:以PID排序
    4. q;退出top
  5. top应用实例
    1. 监视特定用户:在终端输入 top ,按回车,查看执行进程,再输入 u 回车,再输入用户名
    2. 终止指定的进程:终端输入 top ,按回车,查看执行的进程,输入 k 回车,再输入要结束的进程的ID号
    3. 指定系统每隔10秒更新一次;top -d 10

监控网络状态

  1. 查看系统网络的情况:netstat
  2. 基本语法: netstar [选项]
  3. 常用选项:
    1. -an 按照一定属性排列输出
    2. -p ;显示哪个进程在调用
  4. 应用案例:
    1. 查看服务名为 sshd 的服务信息
      netstat -anp | grep sshd
    2. 查看当前系统有哪些端口在被监听
      netstat -tlnp

rpm和yum安装

  1. rpm使用于互联网下载包的打包以及安装工具,包含在某些Linux系统中,
  2. rpm生成具有.RPM(RedHat软件包管理工具的缩写)扩展名的文件,类似于windows下面的setup.exe
  3. rmp常用指令
    1. rpm -qa :查询所有安装的rmp软件包
    2. rpm -ql 软件包名:查询软件包中的文件
    3. rpm -q 软件包名;查询软件包是否安装
    4. rpm -qf 文件全路径名称 :查询文件所属的软件包
    5. rpm -qi 软件包名:查询软件包信息

卸载rpm包

  1. 基本语法:rpm -e RPM包的名称
  2. 删除firefox软件包;
  3. 如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息:
  4. 例如;rpm -e foo ,如果我们就是要删除 foo 这个 rpm 包,可以增加参数 --nodeps ,就可以强制删除,但是一般不推荐这样做,因为依赖于该软件包的程序可能无法运行

安装rpm包

  1. 基本语法;rpm -vih rpm包全路径名称
  2. 常用选项
    1. i = install 安装
    2. v = verbose 提示
    3. h = hash 进度条
  3. 很多的 rpm 包,就在我们的 centos 安装的镜像文件中

yum的使用

  1. yum是一个shell软件包管理器
  2. yum基于rpm包管理,能够从指定的服务器自动下载rpm包并且安装
  3. yum还可以自动处理依赖关系,并且一次安装所需的所有依赖的软件包
  4. yum的基本指令
    1. 查询yum服务器是否有需要安装的软件:yum list | grep xx软件列表
    2. 安装指定的yum包:yum install xxx下安装
  5. yum案例
    1. 使用yum的方式安装firefox
      yum install firefox // 会自动下载适合虚拟机的firefox最新版本

以上是关于Linux-网络配置和进程管理的主要内容,如果未能解决你的问题,请参考以下文章

Linux 学习笔记网络配置进程管理rpm 包的管理和 yum 介绍

Linux 学习笔记网络配置进程管理rpm 包的管理和 yum 介绍

Linux实操之——网络配置进程管理服务管理组管理

大数据学习之_01_Linux学习_02_组管理和权限管理+定时任务调度+linux磁盘分区挂载+linux的网络配置+进程管理(重点)+软件包管理+大厂面试题+感悟分享+资料附录

linux系统 网络服务管理配置

Linux 使用ssh服务管理远程主机