Linux系统管理
一、进程管理
1.进程管理的作用
1)判断服务器健康状态
2)查看系统中所有进程
3)杀死进程
2.进程的查看
1)查看所有进程
ps aux 查看系统中所有进程
ps -le 查看系统中所有进程
-a:显示一个终端的所有进程,除了会话引线
-u:显示进程的归属用户及内存的使用情况
-x:显示没有控制终端的进程
-l:长格式显示。显示更加详细的信息
-e:显示所有进程
ps aux的输出
user:这个进程是由哪个用户产生的
pid:进程ID号
%CPU:该进程占用CPU资源的百分比
%MEM:该进程占用物理内存的百分比
VSZ:该进程占用虚拟内存的大小
RSS:该进程占用实际内存的大小
TTY:该进程是在哪个终端中运行的
pstree 显示进程树
pstree -p查看每一个进程的pid进程号
pstree -u 显示进程所对应的用户
3.top命令判断系统的健康状态
注:(1)维护服务器时,服务器如果是高压力服务器,最好一个周重启一次,如果是低压力服务器最好一个月重启一次。
(2)buffer与cache的区别:buffer(缓冲)加速了数据的写入,cache(缓存)加速了数据的读取。


4.杀死进程
1)杀死单一进程
kill 信号代号 进程号(不能跟进程名)
注:如果修改了apache配置文件需要重启服务,这样的话如果正要使用网页的人就会无法访问,需要一种解决办法能够在重新加载配置文件的情况下,用户可以正常访问网页,用ps -le查看apache进程号,然后利用 kill -HUP apache进程号重启Apache,但不会终止已经登录的用户。
2)杀死某一类进程
killall 信号代号 进程名
pkill 信号代号 进程名
注:如果有两个用户登录系统,如果一个用户想根据用户名杀死另一个用户,可发现所有登录用户的进程名都相同,这是为了确保不把自己杀掉,需要用w命令查看所有登录用户,查看用户运行状态。然后利用pkill -9 -t tty1(终端号)
5.修改进程优先级
利用ps -le 查看进程优先级,PRI与NI都代表优先级,数字越小代表该进程优先级越高。修改进程优先级时不能改PRI的值,可以改NI的值。
NI的值范围是-20-19
普通用户调整NI值得范围是:0-19,而且只能调整自己的进程。普通用户只能调高NI值,不能降低。
root用户才能设定NI值为负值
PRI(最终值)=PRI+NI
=====================================
nice 【选项】命令
#nice命令可以给新执行的命令直接赋予NI值,但是不能修改已经存在进程的NI值
renice 【优先级】 PID
#renice只能修改某一个进程的优先级
二、工作管理(后台管理)
1.简介
工作管理指的是单个登录终端中同时管理多个工作的行为。
linux中查看有多少个进程在后台运行:jobs【-l】
windows后台管理就是把窗口最小化
linux后台管理的作用:为了使长时间运行的命令不卡在界面上
注:(1)只有当前的终端才能管理当前的后台工作,不能管理其他终端的后台工作。
(2)放入后台的命令必须可以持续运行一段时间,这样我们才能扑捉和操作这个工作
(3)放入后台执行的命令不能和前台用户有交互或需要前台输入,否则放入后台只能暂停,而不能执行。
2.方法
1)把进程放入后台
(1)执行命令+&(放入后台执行)
(2)在命令执行过程中ctrl+z(放入后台暂停)
2)查看后台的工作
jobs -l
3)将后台暂停的工作恢复到前台执行
fg %工作号(不是进程号)
4)将后台暂停的工作恢复到后台执行
bg %工作号 (不是进程号)
3.后台命令脱离登录终端执行
法一:把需要后台执行的命令加入/etc/rc.loacl文件
法二:使用系统定时任务,让系统在指定的时间执行某个后台命令
法三:使用nohup命令(标准)
三、linux系统资源查看
1.vmstat命令监控系统资源
vmstat 【刷新延时 刷新次数】
例:vmstat 1 3


2.dmesg命令显示的是系统的内核信息
例:dmesg | grep cpu
3.free命令查看内存使用状态
4.查看cpu信息
cat /proc/cpuinfo
5.uptime(top命令的第一行)
6.查看系统与内核相关信息
uname -a
7.判断当前系统的位数
file /bin/ls
8.查询当前linux系列的发行版本
lsb_realse -a
9.缓冲与缓存的区别
缓存(cache)是用来加速数据从硬盘中”读取“数据的,缓冲(buffer)是用来加速数据”写入“硬盘的。
四、系统定时任务
1.at一次性定时任务
1)确定at安装
chkconfig --list | grep atd #at服务是否安装
service atd restart #at服务的启动
2)at的访问控制


3)at命令


4)其他at管理命令
(1)atq #查看当前服务器上的at工作
(2)atrm #删除指定的at任务
2.crontab循环定时任务(不需要指定用户名)
1)crond服务管理与访问控制
(1)service crond restart
(2)chkconfig crond on
(3)访问控制


2)用户的crontab设置
(1)crontab -e(绑定当前的用户,谁执行这个命令,这个任务归谁管)
#进入crontab编辑界面。会打开vim编辑你的工作。
#*****执行的任务
例:10 * * * * /root/sh/apache_check.sh 说明这个任务会在1点10分,2点10分。。。。。12点10分
*/10 * * * * /root/sh/apache_check.sh 每隔十分钟执行一次


(2)contrab -l
#查看root用户的crontab任务
(3)crontab -r
#删除root用户的所有定时任务
3)crontab注意事项
(1)六个选项不能为空。如果不能确定使用”*“代替任意时间。
(2)crontab定时任务,最小有效时间是分钟,最大范围是月
(3)在定义时间时,日期和星期最好不要在一条定时任务中出现,因为他们都是以天为单位
(4)在定时任务中,不管是直接写命令,还是在脚本中写命令,最好都是用绝对路径。
3.系统的crontab设置(需要指定用户名)
1)执行系统定时任务的方法
法一:把需要定时执行的脚本复制到/etc/cron.{datily,weekly,monthly}目录中的任意一个,这些文件通过/etc/anacrontab文件调用。但缺点是执行时间不确定。
法二:修改/etc/crontab文件
4.anacron配置
1)定义:anacron是用来保证在系统关机的时候错过的定时任务,可以在系统开机后再执行。
2)检测周期:
(1)anacron会使用一天,七天,一个月作为检测周期
(2)在系统的/var/spool/anacron目录中存在cron.{daily,weekly,monthly}文件,用于记录上次执行cron的时间。
(3)和当前时间做比较,如果两个时间的差值超过了anacron的指定时间差值,证明有cron任务被执行。
3)anacron配置文件


4)anacron执行过程
这里按照cron.daily工作来说明执行过程
(1)首先读取/var/spool/anacron/cron.daily中的上次anacron执行的时间。
(2)和当前时间比较,如果两个时间差超过一天,就执行cron.daily工作。
(3)执行这个工做只能在03:00-22:00之间
(4)执行工作时强制延迟时间为5分钟,再随机延迟0-45分钟时间
(5)使用nice命令指定默认优先级,使用run-parts脚本执行/etc/cron.daily目录中的所有可执行文件。
注:anacron只会执行/etc/crontab文件的定时任务

五、服务管理
1.linux运行级别


注:单用户模式:启动最小的服务,然后把多余的服务都不开启,只要能保证系统正常运行就好。
1)运行级别命令
(1)查看运行级别命令:runlevel
N(进入这个级别之前为哪个级别) 3(当前所在的级别好)
(2)修改运行级别命令:init 级别号
2)修改系统默认运行级别
vim /etc/inittab
#系统开机后直接进入哪个运行级别
2.linux服务的分类
注:RPM包与源码包的区别:安装位置不同,RPM安装包的位置作者指定,源码包手工指定安装位置;独立的服务都是直接在内存中运行的,占用内存资源,基于xinetd服务,如果某个用户要访问后台程序,先通过xinetd服务,然后再访问后台程序,
可发现xinetd服务回应的速度比独立服务要慢,优点是除了xinetd服务本身占内存,其他的都不占内存。xinetd服务在目前的系统中基本上淘汰了;
3.查询已安装的服务
RPM包安装的服务:chkconfig --list #查看服务自启动状态,可以看到所有RPM包安装的服务(RPM包的服务启动目录是/etc/rc.id/init)
源码包安装的服务:查看服务安装状态,一般是/usr/local下
4.服务与端口
1)查询系统中开启的服务
netstat -tlump
5.独立服务的启动
1)/etc/init.d/独立服务名
start|stop|status|restart
2)service 独立服务名
start|stop|restart|status
6.独立的服务自启动
chkconfig --list | grep httpd(查看apache服务是否为自启动)
1)修改服务为自启动
法一:chkconfig --level 2345 服务名 on
法二:修改/etc/rc.d/rc.local文件
法三:使用ntsysv命令管理自启动
7.源码包服务管理
所有的默认管理RPM包的命令都不能管理源码包
1)源码包安装服务的启动
使用绝对路径,调用启动脚本来启动。不同的源码包的启动脚本不同。可以查看源码包的安装说明,查看启动脚本的方法;
例:启动Apache服务:/usr/local/apache/bin/apachectl start
2)源码包服务的自启动
vi /etc/rc.d/rc.local
3)让源码包服务被服务管理命令识别
ln -s /usr/local/apache2/bin/apachectl /etc/init.d/apache

linux 系统管理学习的更多相关文章

  1. Linux系统管理学习实训任务书

    1.<Linux系统管理实训任务一之搭建实验基础环境> https://www.toutiao.com/i6763578305091207694/ 2.<Linux系统管理实训任务一 ...

  2. Linux基础学习(13)--Linux系统管理

    第十三章——Linux系统管理 一.进程管理 1.进程查看: (1)进程简介:进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源. (2)进程管理的 ...

  3. 【Linux学习】Linux系统管理2—作业调度

    Linux系统管理2-作业调度 at: 作业仅执行一次就从系统工作队列中取消 语法 denny@ubuntu:~$ at [-m] TIME                     → 作业命令at ...

  4. 【Linux学习】Linux系统管理1—进程管理

    Linux系统管理1-进程管理 一.Linux的三种进程 Linux包括3中不同类型的进程: 交互进程:由一个shell启动的进程.交互进程可以在前后台运行 批处理进程:该进程和终端无联系,是一个进程 ...

  5. 别出心裁的Linux命令学习法

    别出心裁的Linux命令学习法 操作系统操作系统为你完成所有"硬件相关.应用无关"的工作,以给你方便.效率.安全.操作系统的功能我总结为两点:管家婆和服务生: 管家婆:通过进程.虚 ...

  6. 【转载】Linux小白福利:《超容易的Linux系统管理入门书》(三)在虚拟机上安装Linux

    本篇是Linux小白最佳实践第3篇,目的就是让白菜们自己动手安装个Linux玩玩.如果你是Linux小白,请务必亲自动手来安装.不想安装多个操作系统的,虚拟机是最佳选择,一台电脑上可以用虚拟机安装7. ...

  7. 【转载】应读者强烈要求给出《超容易的Linux系统管理入门书》一书的主要知识点

    刚开始了一篇连载,收到广大Linux爱好者的反馈,非常欣慰.大家对Linux学习感到很迷茫,不知道学哪些内容,如何学习? <超容易的Linux系统管理入门书>一书是腾讯Linux专家在腾讯 ...

  8. 【转载】应广大群众的要求,今天开始连载《超容易的Linux系统管理入门书》一书

    学习Linux容易嘛?我说超容易,你肯定不信.那学习Linux最好的学习方法是什么,就是脑子里面一直提问题,不停的提,时时刻刻提,如果你没有问题,那再容易的学习书你也看不懂. <超容易的Linu ...

  9. 【书评】RHCSA/RHCE Red Hat Linux 认证学习指南(第6版)EX200 & EX300

    这次参加 CSDN 举办的读书活动,正赶上项目忙,看得也是断断续续,拖了2周了,才能来写这个书评. ========== 书评的分割线 ========== 首先,我会肯定的告诉你,不论你是一名专业的 ...

随机推荐

  1. 快速傅立叶变换(FFT)算法

    已知多项式f(x)=a0+a1x+a2x2+...+am-1xm-1, g(x)=b0+b1x+b2x2+...+bn-1xn-1.利用卷积的蛮力算法,得到h(x)=f(x)g(x),这一过程的时间复 ...

  2. 安装系统,用cmd进行分区

    步骤1:在“您想将Windows安装在何处”的界面按住“Shift+F10”,调出命令行窗口,输入diskpart并点击回车 步骤2: 输入list disk点击回车,列出所有磁盘磁盘是从0开始排序的 ...

  3. Eclipse Debug不能热部署解决

    摘要: Eclipse Debug不能热部署代码may be out-of-synch 问题描述:Project通过ant工具编译部署到JBoss下,在使用Eclipse远程调试功...       ...

  4. 学习笔记:ECharts

    (Highcharts 167K:  ECharts 354K: jqChart 240K),如果用于网络,Highchart最小 ECharts (Enterprise Charts 商业产品图表库 ...

  5. android toolbar效果2

    只有一个按钮的情况 <resources> <string name="app_name">照片</string></resources& ...

  6. hadoop 二次排序的思考

    name sorce jx 10 gj 15 jx 20 gj 30 1. 二次排序 key如何定义 2. grouping 是不是一定要实现,不实现可以吗? 3. 二次排序的本质是什么 4. 如果以 ...

  7. 清除eclipse,STS workspace历史记录

    记一下 打开eclipse下的/configuration/.settings目录 修改文件org.eclipse.ui.ide.prefs文件 把RECENT_WORKSPACES这项修改为你需要的 ...

  8. __getitem__ __setitem__ __delitem__ 使用

    #__getitem__ __setitem__ __delitem__运行设置key value值了class fun: def __init__(self): print('test') def ...

  9. 一次sendmsg的改造过程

    比较蛋疼的一个改造过程,简单记录一下. 场景:用户态使用sendmsg发包,tcp报文,由于内核实现过程中存在一次kernel_read,也就是存在将pagecache中的内容拷贝一次的问题. 为了减 ...

  10. springmvc转页面

    @RequestMapping("/aa") public String zuan(){ return "redirect:/bb.jsp"; } 如果没有带r ...