工作管理

1、工作管理简介

Linux中的工作管理指的是在单个登录的终端中,同时管理多个工作的行为。在Linux工作管理中,其实就是将当前的工作放到后台执行。查询当前系统中的后台程序使用的命令是jobs。

在Linux中,当某些服务启动之后,如果不放入后台,他会一直占用当前的shell,例如MYSQL。如果想要执行其他操作的话,需要将mysql服务终止掉。如果不想将该服务终止,就需要将该服务放入后台。

注意事项:

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

也就是说,放入后天的服务是需要绑定终端的。Mysql服务发现了这个问题,当调用mysql服务的启动脚本时,它会将MySQL设置为可以脱离当前终端操作的服务,当MySQL服务在当前终端上放入后台时,关闭当前终端,mysql服务不会终止,但其他服务如果关闭的当前终端,服务也会跟着结束。

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

例如:将ls、cd等命令房后后台是没有意义的,回车之后就会结束

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

例如:将vim命令放入后台,只能暂停,不肯能继续执行。因为vim命令是需要和用户进行交互的。

2、工作管理方法

1> 把命令放入后台<以top命令为例>

在执行的命令后加" & ”           # 把命令放入后台,并在后台执行
top                  # 按下ctrl+z快捷键,放在后台暂停


2> 查看后台工作

jobs [-l]                            # -l  显示工作的PID

注: “+”表示最近一个放入后台的工作,也是工作恢复时默认恢复的工作,“-”表示倒数第二个放入后台的工作


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

fg %工作号                # %可以省略,但是注意工作号和PID的区别


4> 把后台暂停的工作恢复到后台执行

bg %工作号                # 后台恢复执行的命令,是不能和前台有交互的,否则不能恢复到后台执行

3、后台命令脱离登录终端执行

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

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

1> 把需要后台执行想命令加入到/etc/rc.local 文件

开机默认创建文件 /var/lock/subsys/local,目的是为了查看系统开机时间。

如果想要后台运行的一个程序持续运行,可以把这个进程完全写到该文件中,那么该进程就可以持续运行。因为它是系统直接调用的,没有绑定到终端。

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

使用系统定时任务,可能会导致不生效!!!

3> 使用nohup命令

命令格式:

nohup [命令] &

在 /root 目录下创建文件 for.sh,内容如下:

nohup运行该文件

切换终端,然后可以通过  ps aux | grep for.sh 查看


    系统资源管理

※1、vmstat命令监控系统资源

vmstat [刷新延时 刷新次数]

procs:进程信息字段

r:等待运行的进程数,数量越大,系统越繁忙

b:不可被唤醒的进程数,数量越大,系统越繁忙

memory:内存信息字段

-swpd:虚拟内存的使用情况,单位KB

-free:空闲的内存容量,单位KB

-buff:缓冲的内存容量,单位KB

-cache:缓存的内存容量,单位KB

缓存和缓冲的区别:

缓存(cache)是用来加速数据从硬盘中”读取”的,而缓冲(buffer)是用来加速数据”写入”硬盘的。

swap:交换分区的信息字段

-si:从磁盘中交换到内存中数据的数量,单位KB

-so:从内存中交换到磁盘中数据的数量,单位KB,

两个数越大,证明数据需要经常在磁盘和内存之间交换,系统性能越差

io:磁盘读写信息字段

-bi:从块设备读入数据的总量,单位是块

-bo:写到块设备的数据的总量,单位是块。

两个数越大,代表系统的I/O越繁忙

system:系统信息字段:

-in:每秒被中断的进程次数

-cs:每秒钟进行的事件切换次数。

两个数越大,代表系统与接口设备的通信飞航繁忙

cpu:CPU信息字段

-us:非内核进程消耗CPU运算时间的百分比

-sy:内核进程消耗CPU运算时间的百分比

-id:空间CPU的百分比

-wa:等待I/O所消耗的CPU百分比

-st:被虚拟机所盗用的CPU占比

※2、dmesg开机时内核检测信息

dmesg | grep CPU

显示系统的内核自检信息,对Linux来将,计算机需要自检两遍,一是硬件的BIOS自检,二是内核自检

dmesg命令是用来判断当前服务器的硬件状态。

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

free [-b | -k | -m | -g]

选项:以 字节 | Kb | MB | GB 为单位显示,默认为Kb

- buffers/cache:相当于第一行used - buffers - cached

+ buffers/cache:相当于第一行free + buffers + cached

虽然看起来buffer和cached 占用了一部分内存,但实际上是作为缓冲和缓存存在,没有被系统的程序直接占用,是为了提高系统读写效率存在的

最后一行表示Swap的使用状况,swap是提高计算机性能尤其是高耗费内存性能的重要手段,因此不可以随意减少Swap分区的容量。当真实机内存小于4G,swap应该是内存的两倍,如果真实机的内存大于4G,swap最少要和内存一样。

※4、查看CPU信息

cat /proc/cpuinfo

proc是用来保存内存信息的目录

※5、uptime命令

uptime

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

uptime命令可以查看到系统当前时间,开机到现在的时间,登录用户数目,平均负载。和top命令第一行信息一致,但top命令本身就会造成一定的负载,如果只是简单想查看系统启动时间和平均负载,可以用uptime命令。

 

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

uname [选项]

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

-r:查看内核版本

-s:查看内核名称

※7、查看当前Linux系统的操作位数

file /bin/ls

file之后可以追加任何一个系统外部命令,可以查看到当前操作系统的位数。需要注意的是,这里的位数与CPU的位数不一定相同,64的的电脑上也可以安装32位的操作系统

※8、查询当前Linux的发行版本

lsb_release -a

※9、列出进程打开或使用的文件信息

lsof [选项]# 列出进程调用或打开的文件的信息

选项:

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

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

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

根据文件名查进程,文件只能是系统文件,不能是用户自己创建的文件,只有系统文件才有系统进程


    系统定时任务

Windows中的系统定时任务:开始-- >所有程序-- >附件-- > 系统工具-- >定时计划程序

at一次性定时任务

 1> 确定at安装

chkconfig --list | grep atd            #  at服务是否安装
service atd restart                    #  at服务重新启动

在服务名后加 d ,表明这是一个守护进程

 2> at的访问控制

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

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

l 如果系统中这两个文件都不存在,那么只有root用户可以使用at命令。默认情况下只有黑名单

 3> at命令的使用

at [选项] 时间

选项:

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

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

时间:

- HH:MM例如:02:30

- HH:MM YYYY-MM-DD例如:02:30 2013-07-25

- HH:MM [am|pm] [month] [date]例如:02:30 July 25

- HH:MM [am|pm] + [minutes|hours|days|weeks]例如:now + 5minutes

其他at管理命令

atq                # 查询当前服务器上的at工作
atrm [工作号]                 # 删除指定的at任务

at定时任务执行完毕之后,atq就不会再查询到at任务

crontab定时任务

关于crontab定时任务,要介绍的细节比较多,这里作为一个单独的文章来写,链接如下:

http://muhuizz.blog.51cto.com/11321490/1868839

---------muhuizz整理

转载于:https://blog.51cto.com/muhuizz/1897035

Linux进程资源管理第二篇   -------- 工作及资源管理相关推荐

  1. linux block layer第二篇bio 的操作

    摘要 linux block layer第一篇介绍了bio数据结构及bio内存管理,本文章介绍bio的提交.拆分.io请求合并.io请求完成时的回调处理.由于"bio的提交"涉及内 ...

  2. 【Linux从青铜到王者】第五篇:Linux进程概念第一篇

    系列文章目录 文章目录 系列文章目录 前言 一.冯诺依曼体系结构 二.操作系统 1.操作系统的概念 2.操作系统的目的 3.操作系统的定位 4.如何理解管理 5.操作系统总结 6.系统调用和库函数概念 ...

  3. 【Linux系统】第二篇、权限管理篇

    文章目录 一.Linux下的用户 二.文件的权限 1. 文件访问者的分类 2. 文件类型和访问权限 3. 文件权限值的表示方法 三.文件访问权限的相关设置方法 1. chmod 2. chown 3. ...

  4. linux设备驱动第二篇:构造和运行模块

    上一篇介绍了linux驱动的概念,以及linux下设备驱动的基本分类情况及其各个分类的依据和差异,这一篇我们来描述如何写一个类似hello world的简单测试驱动程序.而这个驱动的唯一功能就是输出h ...

  5. win7计算机属性资源管理器停止工作,win7资源管理器停止工作,手把手教你Win7资源管理器已停止工作怎么解决...

    在系统中,资源管理器是一项重要的服务,其能够帮助用户管理系统中的视频.图片.文档.系统文件等一系列资源,而在我们使用电脑的过程中,部分用户的系统常常弹出"Windows资源管理器已停止工作& ...

  6. Linux进程管理(第二版) --计划任务

    计划任务 一.一次性计划任务 at命令 #功能:安排一个/几个命令在指定时间(时刻)运行一次 1.at的命令格式及参数 at [-f 文件名] 时间 at -d 或者 atrm 删除队列中的任务 [a ...

  7. Linux进程管理(第二版) --进程管理命令

    进程管理命令 一.查看用户信息w 1. w显示信息的含义 TTY:说明用户登录的方式,ttyN:表示以本地终端登录;pts/N表示以远程终端登录 JCPU:以终端代号来区分,该终端所有相关的进程执行时 ...

  8. 【转】提升工作效率的一些小技巧——资源管理器篇

    当我看到有人打开资源管理器,一个一个文件夹点进去,再点出来,我就着急.特别是有人在会议上打开我的电脑,然后寻找文件,我就特别捉急,这不只是在浪费自己的时间,还浪费参加会议人的时间. 我把资源管理器篇放 ...

  9. [若有所悟]提升工作效率的一些小技巧——资源管理器篇

    当我看到有人打开资源管理器,一个一个文件夹点进去,再点出来,我就着急.特别是有人在会议上打开我的电脑,然后寻找文件,我就特别捉急,这不只是在浪费自己的时间,还浪费参加会议人的时间. 我把资源管理器篇放 ...

最新文章

  1. 皮一皮:有钱人的世界咱不懂之不知道第几次...
  2. vue 箭头函数兼容性_前端学习计划之VUE学习(二)
  3. 入门Web前端要注意什么?要学哪些软件?
  4. linux查文件名称唯美,第二章、Linux常用命令
  5. 走在前沿的弄潮儿,怎能不会Git的那些奇技淫巧
  6. [error] MFC错误不能将参数1从const char [3]转换为const wchar_t *
  7. 程序员公司选择:创业公司、中等规模公司、大公司
  8. python变量详解_python基础教程-03-变量详解
  9. ubuntun系统mysql数据库同步_Ubuntu下MySQL主从同步配置步骤
  10. 随想录(rt-patch和linux)
  11. .Net Framework System.Collections 集合类
  12. 这是目前为止5G最完整的PPT
  13. 重装上阵,全新的「极光开发者」公众号来了,关注送大礼!
  14. win10未检测到任何音频设备解决办法
  15. 关于VLAN的几种接口模式
  16. 2000元台式电脑组装配置单2021 2000元组装电脑配置清单
  17. Newifi mini R6850/R6830路由器刷breed+Padavan固件
  18. 【麦可网】Cocos2d-X跨平台游戏开发学习笔记---第二十一课:Cocos2D-X网格特效1-3
  19. hdu 4489(排列组合+DP)
  20. 最好用的jpg转pdf软件

热门文章

  1. vSphere vCenter 4.0 安装图解
  2. MAC能登录微信,浏览器连不上网
  3. Centos(6、7) —— yum源的配置
  4. 廖雪峰Java11多线程编程-3高级concurrent包-4Concurrent集合
  5. Quartus调用Modelsim SE避免重复编译Altera器件库的方法
  6. NIO:与 Buffer 一起使用 Channel
  7. 配置IIS Silverlight运行环境
  8. Kubernetes之深入了解Pod
  9. Google使用机器学习助力数据中心节能
  10. 如何让机器获得幽默感——Goolge图学习技术揭秘