Linux 系统管理

一、 进程管理1. 什么是进程

进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的运行空间,并占有一定的系统资源。

2. 进程管理的作用

判断服务器健康状态

查看系统中所有进程

杀死进程

3. 进程的查看ps命令

ps aux 查看系统中所有进程,使用 操作系统格式

ps -le 查看系统中所有进程,使用 标准命令格式

选项

a:显示一个终端的所有进程,除了会话引线

u:显示进程的归属用户及内存使用情况

x:显示没有控制终端的进程

-l:长格式显示,显示更加详细的信息

-e:显示所有进程,和 作用一致

pstree [选项] 查看进程树

选项

-p:显示进程的

-u:显示进程的所属用户

STAT:进程状态。常见的状态有:

R:运行

S:睡眠

T:停止状态

s:包含子进程

+:位于后台

4. 进程的查看top命令

top [选项] 查看系统健康状态

选项

-d:秒数:指定 命令每隔几秒更新。默认是3秒

-b:使用批处理模式输出。一般和 选项合用

-n:次数:指定 命令执行的次数

在top命令的交互模式中可以执行的命令:

?或h:显示交互模式的帮助

P:以 使用率排序,默认就是此项

M:以 的使用率排序

N:以 排序

q:退出

使用top查看所有进程

5. 杀死进程

kill命令 杀死单一进程

:查看可用的进程信号

:重启进程

:强制杀死进程

killall命令

:按照进程名杀死进程

选项:

-i:交互式,询问是否要杀死某个进程

-I:忽略进程名的大小写

pkill命令

:按照进程名终止进程

选项:

-t:终端号:按照终端号剔除用户   //踢掉用户 pkill -9 -t pts/?

6. 进程优先级

Linux 操作系统是一个多用户,多任务的操作系统,Linux 系统中同时运行着非常多的进程。但 CPU 在同一时钟周期内只能运算一个指令。进程优先级决定了每个进程处理的先后顺序。

注意:系统优先级:只有NI可以改,priority由两个值PRI,NI相加

:使用前必须先停止进程

:可以修正在运行的进程

nice命令

:可以给新执行的命令直接赋 值,但不能修改已经存在的进程的 值

选项:

-n NI值:给命令赋予 值

例如:

nice -n -5 service httpd start

renice命令

:修改已经存在进程的 值的命令

例如:

renice -10 2125

修改NI值时有几个注意事项

NI 的值的范围是

普通用户调整 NI 的值的范围是 ,而且只能调整自己的进程

普通用户只能调高 NI值,不能降低

root 用户才能设定进程 NI 值为负值,而且可以调整任何用户的进程

PRI(最终值) = PRI(原始值)+ NI

用户只能修改 NI 值,不能直接修改时 PRI

数字越小,优先级越高

二、工作管理

工作管理指的是在单个登录终端中(也就是登录的 shell 界面中)同时管理多个工作的行为

注意事项:

当前的登录终端,只能管理当前终端的工作,而不能管理其他登录终端的工作

放入后台的命令必须可以持续运行一段时间,这样我们才能捕捉和操作这个工作

放入后台执行的命令不能和前台用户有交互或需要前台输入,否则放入后台只能暂停,而不能执行

1. 把进程放入后台

#在命令后加入 ,把命令放在后台执行

按下 快捷键,放在后台暂停

2. 查看后台的工作

选项:

-l:显示工作的 PID

注意:

代表最近一个放入后台的工作,也是工作回复时,默认恢复的工作

代表倒数第二个放入后台的工作

3. 将后台暂停的工作恢复到前台执行

#恢复前台运行

#恢复后台运行(不能有交互)

4. 后台命令脱离终端执行

把命令放入后台,只能在当前登录终端执行。一旦退出或关闭终端,后台程序就会停止

后台命令脱离登录终端执行的方法:

把需要后台执行的命令加入 /etc/rc.local文件

使用系统定时任务,让系统在指定的时间执行某个后台命令

使用 nohup命令(常用) nohup 命令 &

三、系统资源查看1. vmstat 命令监控系统资源

例如:

vmstat 1 3

2. dmsg 开机时内核检测信息

3. free 命令查看内存使用状态

选项:

-b:以字节为单位显示

-k:以KB为单位显示,默认就是以KB为单位显示

-m:以MB为单位显示

-g:以GB为单位显示

4. 查看 cpu 信息

5. uptime 命令

#显示系统的启动时间和平均负载,也就是top命令的第一行。w命令也可以看到这个数据

6. 查看系统与内核相关信息

选项:

-a:查看系统所有相关信息;

-r:查看内核版本;

-s:查看内核名称。

7. 列出进程打开或使用的文件信息

#列出进程调用或打开的文件信息

选项:

-c 字符串:只列出以字符串开头的进程打开的文件

-u 用户名:只列出某个用户的进程打开的文件

-p pid:列出某个PID进程打开的文件

缓冲和缓存的区别缓存(cache ) 是用来加速数据从硬盘中读取的缓冲(buffer)是用来加速数据写入硬盘的

查看当前Linux系统的发现版本

判断当前系统的位数

四、系统定时任务1. at 一次执行确定 安装

# 服务是否安装

# 服务的启动

的访问控制

如果系统中有/etc/at.allow文件,那么只有写入/etc/at.allow文件(白名单)中的用户可以使用at命令(/etc/at.deny文件会被忽略)

如果系统中没有/etc/at.allow文件,只有/etc/at.deny文件,那么写入/etc/at.deny文件(黑名单)中的用户不能使用at命令(注意:对root用户不起作用)

如果系统中这两个文件都不存在,那么只有root用户可以使用at命令

命令

m:当at工作完成后,无论是否命令有输出,都用email通知执行at命令的用户

c 工作号:显示该at工作的实际内容

时间:

HH:MM

HH:MM YYYY-MM-DD

HH:MM[ampm] [month][date]

HH:MM +[minuteshoursdaysweeks]

例子

在两分钟之后执行hello.sh脚本

其他 管理命令

#查询当前服务器上的 工作

#删除指定的 任务

2. crontab 循环定时crond 服务管理与访问控制

用户的 crontab 设置

选项:

-e:编辑crontab定时任务

-l:查询crontab任务

-r:删除当前用户所有的crontab任务

常用命令

#查看root用户的crontab任务

#删除root用户所有的定时任务

#添加crontab任务

crontab 注意事项

六个选项不能为空

crontab定时任务最小有效时间为分钟,最大为月

日期和星期最好不要同时出现

执行任务写绝对路径

访问控制

如果系统中有/etc/cron.allow文件(白名单),那么只有在此名单下的用户可以使用cron命令;

如果系统中没有/etc/cron.allow文件,只有/etc/cron.deny文件(黑名单),那么在此名单下的用户不能使用cron命令【对root不起作用】

如果系统这两个文件都不存在,那么只有root用户可以使用cron命令

crontab格式:

第一个*:一小时当中的第几分钟,范围0-59

第二个*:一天当中的第几小时,范围0-23

第三个*:一个月当中的第几天,范围1-31

第四个*:一年当中的第几月,范围1-12

第五个*:一周当中的星期几,范围0-7(0和7都代表星期日)

crontab 举例:

45 22 * * * 命令:在22点45分执行命令

0 17 * * 1 命令:每周一的17点0分执行命令

0 5 1,15 * * 命令:每月1号和15号的凌晨5点0分执行命令

40 4 * * 1-5 命令:每周一到五的凌晨4点40分执行命令

*/10 4 * * * 命令:每天的凌晨4点,每隔10分钟执行一次命令

0 0 1,15 * 1 命令:每月1号和15号,以及每周一的0点0分都执行命令

3. 执行系统的定时任务的方法:

第一种:手工执行定时任务(crontab -e,默认当前用户)第二种:系统定时任务

把需要定时执行的脚本复制到/etc/cron.目录中的任意一个

修改/etc/crontab配置文件(必须指定用户)

Reference:IMOOC-Linux系统管理

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180131G0NZU300?refer=cp_1026

同媒体快讯

  • Spring 事务管理

    2018-10-17
  • Oracle存储过程和自定义函数

    2018-10-17
  • IntelliJ IDEA 使用技巧

    2018-10-17
  • Oracle 触发器

    2018-10-17

相关快讯

扫码关注云+社区