进程与计划任务详解

时光匆匆,王老师代两周的课就这样结束了,刚适应王老师的讲课风格。王老师讲课进度非常快,能按照自己的思路把上课的内容每一个地方都贯彻下去。我觉得这样是非常好的,但是笔记方面还是南老师做的详细,各有各的风格吧。今天我们将要给大家介绍进程与计划任务,对我们的以后工作有非常大的帮助,因为我们以后工作尽可能的都自动化管理,不需要我们每天都去敲那些命令。所以我相信今天的内容对大家还是有用的。

一、进程的优先级

系统优先级:0——139 数字越小优先级越高(centos4、5)各有140个运行队和过期队

0——99  数字越小优先级越高(centos6、7)

实时优先级:99——0  数字越大优先级越高

nice优先级:-20——19 数字越小优先级越高,对应系统的优先级100——139

用图让大家看的更家清晰:1

二、进程的类型和状态

进程的类型:守护进程(与终端无关)

前台进程(与终端有关)

进程的状态:运行态running

就绪态ready

睡眠状态:可中断interruptable   不可中断uninterruptable

停止状态:stopped(暂停与内存,但不会被调动,除非手动启动)

僵死状态zombie(结束进程,父进程结束前,子进程不关闭)建议有了就重启服务

三、ps命令

UNIX风格 短格式如-a

BSD风格  格式如:a

GUN风格  格式如: – -help

a 选项包括所有终端中的进程

x 选项包括不链接终端的进程

u 选项显示进程所有者的信息

f 选项显示进程的父进程

k|–sort 属性 对属性排序

o 属性… 选项显示定制的信

user显示执行命令的用户

ruser 显示真正的执行用户

常用格式:

ps -C 脚本    有利于监控脚本

ps -ef显示所有进程完整格式程序信息

ps -eFH 显示更完整的以进程层级格式显示进程相关信息

ps aux 显示所有进程完整信息

例如:1、ps axo pid,cmd,%cpu,%mem k%mem 只显示pid,cmd,%cpu,%mem然后以内存(%mem)进行排序

2

四、nice

更改优先级:renice #  pid

3

可以直接指定优先级:nice -n 10 ping 127.0.0.1

4

五、pgrep(搜索进程)

-u user    显示生效者

-U user    查看真正发起运行命令者

-t pts/0   查看指定终端相关的进程

-l:        显示进程名

-a:        显示完整格式的进程名 (支持正则表达式)

-P pid:     显示指定进程的子进程

六、pidof (可以查看一个进程对应的编号)

可以监控一个服务是否正常开启,如果没有开启就将其开启

例如:pidof httpd &> /dev/null || systemctl restart httpd

5

七、uptime

显示当前时间,系统已启动的时间、当前上线人数,系统平均负载(1、5、10分钟的平均负载,一般不会超过1)如果是双核CPU,那么如果数字接近6,说明机器已经被成分使用

7

八、top、htop(动态监控进程)

6

8

分别代表:us 用户空间 sy 系统空间 ni 优先级优化空间 id 空闲空间 wa等待空间 hi硬中断   si 软中断  st被偷走的时间片

排序:  P:以占据的CPU百分比排序

M:占据内存百分比排序

T:累积占据CPU时长排序

首部信息l:对最上面的一行隐藏或者不隐藏

t:tasks及cpu信息

1(数字1):cpu分别显示

m:memory信息,(内存信息)

q:退出

s:修改刷新时间间隔

k:终止指定进程

W:保存文件

-d #:指定刷新时间间隔,默认为3秒

-b:全部显示所有进程

-n #:刷新多少次后退出

htop(动态查看进程,yum仓库有epel源才能安装)

9

-d #: 指定延迟时间;

-u UserName: 仅显示指定用户的进程

-s COLUME: 以指定字段进行排序

子命令: s: 跟踪选定进程的系统调用

l: 显示选定进程打开的文件列表

a:将选定的进程绑定至某指定CPU核心

t: 显示进程树

htop 相对于 top有颜色,不过看大家自己的喜欢风格了。

九、内存工具

1、vmstat

10

r可运行

b处于不可中断睡眠态的进程

swpd 交换内存的使用总量

free 空闲物理内存总量

buffer 用于缓冲的内存总量

cache 用于缓存的内存总量

si 从磁盘交换进内存的数据速率

so 从内存到磁盘的数据速率

bi 从块设备读入数据到系统的速率

bo 保存数据到块设备的速率

in 中断速率

cs 进程切换速率

us 用户空间

sy 系统空间

id 空闲空间

wa 等待空间

st 被虚拟机偷走的时间片

vmstat -s 显示内存的统计数据

2、iostat 显示CPU和设备IO信息

3、pmap(显示进程对应的内存映射,有利于监控内存是否只占用不释放)

pmap 进程号    查看某个进程的内存状态

pmap -x 1    显示信息更加详细

4、内存监控工具

glances(需要配置yum仓库中的epel源才能安装)

-b: 以Byte为单位显示网卡数据速率

-d: 关闭磁盘I/O模块

-f /path/to/somefile: 设定输入文件位置

-o {HTML|CSV}:输出格式

-m: 禁用mount模块

-n: 禁用网络模块

-t #: 延迟时间间隔

-1:每个CPU的相关数据单独显

glances主要功能 远程服务器监控

服务器模式:glances -s -B ip地址  (ip地址指明监听的本机哪个地址)

客户端模式: glances -c ip地址   (IP地址指明要连入的服务器段地址)

5、dstat(系统资源统计)

-c: 显示cpu相关信息

-C #,#,…,total

-d: 显示disk相关信息

-D total,sda,sdb,…

-g:显示page相关统计数据

-m: 显示memory相关统计数据

-n: 显示network相关统计数据

-p: 显示process相关统计数据

-r: 显示io请求相关的统计数据

-s: 显示swapped相关的统计数

–top-cpu:显示最占用CPU的进程 

–top-io: 显示最占用io的进程 

–top-mem: 显示最占用内存的进程 

–top-latency: 显示延迟最大的进程

十、kill(给进程发送控制信号)进程管理工具

一些常见的选项:

1 SIGHUP: 无须关闭进程而让其重读配置文件

2 SIGINT: 中止正在运行的进程;相当于Ctrl+c

3 SIGQUIT:相当于ctrl+\

9 SIGKILL: 强制杀死正在运行的进程 (有些是顽强的进程,杀不死,第一个进程杀不死,但是会影响系统)

15 SIGTERM:终止正在运行的进程 (默认是15)

18 SIGCONT:继续运行

19 SIGSTOP:后台休眠

kill -l 查看所有信号

kill -0 检查某个进程是否正常工作,正常工作是0,非正常工作是非0

killall -9 进程名称      按名称杀死所有的进程

pkill  按模式给进程发信号和pgrep的一些用法一样

-u uid:   生效者

-U uid    真正发起运行命令者

-P pid:   显示指定进程的子进程

十一、作业管理(前台执行或者后台执行)

1、前台执行的在后面加个&的就可以放后台执行  例如ping 172.17.0.1 &

2、前台和后台一些转换:

jobs 查看作业编号

fg 作业号     将后台执行的放到前台工作

bg 作业号     将后台休眠的启动起来放在后台运行

killall  -18 进程名    将后台休眠的使其在后台运行

killall  -19 进程名    将后台运行的使其在后台休眠

kill %作业编号     将其杀掉

3、让其在后端运行,并且不显示在终端:

nohup ping 127.0.0.1 &> /dev/null &

输入screen后 然后进入一个终端,然后执行命令后退出,该命令会放在后台运行

screen -ls  查看screen 会话

screen -r   回到screen终端

4、并行运行:(提高效率)

方法1:vim all.sh

f1.sh &

f2.sh &

方法2:(f1.sh&);(f2.sh&);(f3.sh)

方法3:{  f1.sh&   f2.sh&   f3.sh&  }

例如:{ ping -c 3 127.1 ; ping 127.2 ; }& { ping -c 3 127.3 ; ping 127.4 ; }&先执行1,3 后执行2,4

11

十二、at(在未来的某一时间执行一次任务,一但设定了放在/var/spool/at里面)

at [选项] TIME

-V 显示版本信息

-l 列出指定队列中等待运行的作业

-d 删除制定的作业

-c 查看具体作业任务

-f 跟上文件    从指定的文件中读取任务

-m 当任务被完成之后,将给用户发送邮件,即使没有标准输出

at的时间定义格式:HH:MM 、HH:MM YYYY-MM-DD、HH:MM[am|pm] [Month] [Date] 、HH:MM[am|pm] + number [minutes|hours|days|weeks]

白名单:/etc/at.allow 默认不存在,只有该文件中的用户才能执行at命令

黑名单:/etc/at.deny  默认存在,拒绝里面的用户执行at命令

如果两个文件都不存在,只有root可以执行at命令

12

十三、crond(周期性任务计划)

(1)系统维护作业放在:/etc/crontab中 只能管理员才能用

例如:*/5 * * * * root tar cvf /app/etc.tar.xz /etc/ &> /dev/null

每5分钟以root的身份执行打包命令

例如:晚上9点10分运行echo命令

10 21 * * * root /bin/echo “Howdy!”

例如:每3小时echo和wall命令

0 */3 * * * root /bin/echo “howdy”;/usr/bin/wall “welcome to Magedu!”

时间的表示法:

1、特定值

2、* 每。。

3、离散取值 #,#

4、连续取值#-#

5、步长 /#

6、@reboot=========== Run once after reboot.

7、@yearly===========0 0 1 1 *

8、@annually===========0 0 1 1 *

9、@monthly===========0 0 1 * *

10、@weekly===========0 0 * * 0

11、@daily=========== 0 0 * * *

12、@hourly===========0 * * * *

但是要注意一点:对于cron任务来讲,%有特殊用途;如果在命令中要使用%, 则需要转义,将%放置于单引号中,则可不用转义

(2)普通用户任务:crontab

-e 编辑任务(默认是以vi打开,想要带颜色需要在/etc/profile.d/里面创建一个文件写入变量 export EDITOR=vim就能以vim方式打开)

-l 列出所有任务

-r 移除所有任务

-u user 仅root可以运行,指定用户管理任务

-i -r 交互式删除,问一下是否要删除

管理员可以在/var/spool/cron/里面看到每个用户的计划任务,或者crontab -l -u user

如果以后不小心删除计划任务了,可以查看日志/var/log/cron,恢复计划任务

如何每几秒执行一次:需要用到sleep   usleep(微妙执行)

例如:* * * * * for min in 0 1 2; do echo “hi”; sleep 20;

以上就是我对进程和计划任务的全部总结,希望能够帮助到大家!!!

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/86670

(0)
In summerIn summer
上一篇 2017-09-09 16:06
下一篇 2017-09-09

相关推荐

  • N_28正则表达式及vim编辑的一些知识

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 ]# who | sort -nu | cut -d” ” -f1 2、取出最后登录到当前系统的用户的相关信息。 ]# who | tail -1 | cut -d” ” -f1 | id 3、取出当前系统上被用户当作其…

    Linux干货 2017-12-16
  • 推倒一个二十来岁青壮年第一步

    首先:找到他家在哪里,了解他的生长环境 然后:调查他的信息,慢慢了解他,学会和他交流,学会控制他

    Linux干货 2016-09-21
  • 磁盘分区相关知识

    磁盘分区相关知识 使用磁盘分区的过程设备识别→设备分区→创建文件系统→标记文件系统→在/etc/fstab文件中创建条目→挂载新的文件系统 分区不是必须的,但是分区是必要的:优化I/O性能实现磁盘空间配额限制提高修复速度隔离系统和程序安装多个OS采用不同文件系统 不重启激活新添加的磁盘:echo “- – -” > …

    Linux干货 2017-08-20
  • rpm软件包管理

    软件包管理 软件运行环境 API   应用程序开发接口 ABI   二进制接口 Rpm包命名方式 Name-version-release-arch-rpm 例如 zziplib-devel-0.13.162-5.el7.i686.rpm zziplib :主包名 dewel:次包名 0.13.162: 主版…

    Linux干货 2016-08-24
  • 初识操作系统和linux

    初识操作系统和linux 1.计算机系统由硬件系统和软件系统两大部分组成:是一种能接收和存储信息,并按照存储在其内部的程序对海量数据进行自动、高速地处理,然后把处理结果输出的现代化智能电子设备。   2.世界上第一台计算机是1946年诞生在美国宾州大学。   3.冯·诺依曼体系结构:1946年数学家冯·诺依曼于…

    Linux干货 2017-02-14
  • 基于iptables mangle的lvs && lvs的持久连接

    一、lvs-dr类型:也称direct routing,简称为g(gatewaying);配置lvs-dr基于iptables mangle的实现方式  实验图:  地址规划:    VIP: 172.16.2.100    DIP: 172.16.2.13    RIP1:17…

    Linux干货 2015-06-30