linux 进程及作业管理

 1、Process: 运行中的程序的一个副本,是被载入内存的一个指令集合

进程IDProcess IDPID)号码被用来标记各个进程

UIDGID、和SELinux语境决定对文件系统的存取和访问权限,

通常从执行进程的用户来继承

存在生命周期

Uninterruptible sleep: 不可中断的睡眠

Interruptible sleep:可中断睡眠

2、进程优先级:

系统优先级:数字越小,优先级越高

0-139CentOS5

各有140个运行队列和过期队列

0-9899CentOS6

实时优先级:99-0 值最大优先级最高

nice值:-2019,对应系统优先级100-13999

100-139:用户可控制

0-99:内核调整的

3ps: Process State

a: 所有与终端有关的进程

x: 所有与终端无关的进程

进程的分类:

跟终端相关的进程

跟终端无关的进程

守护进程: daemon,在系统引导过程中启动的进程,和终端无关进程

前台进程:跟终端相关,通过终端启动的进程

进程状态:

运行态:running

就绪态:ready

睡眠态:

可中断:interruptable

不可中断:uninterruptable

停止态:stopped,暂停于内存,但不会被调度,除非手动启动

僵死态:zombie,结束进程,父进程结束前,子进程不关闭

D:不可中断的睡眠

R:运行或就绪

S:可中断的睡眠

T:停止

Z:僵死

<:高优先级进程

N: 低优先级进程

+:前台进程组中的进程

l: 多线程进程

s: 会话进程首进程

 

ps    -elF |-ef |-eF

ps -o PROPERTY1,PROPERTY2

ps -o pid,comm,ni

pstree: 显示当前系统上的进程树

pgrep

pidof: 根据程序名称,查找其相关进程的ID 

top:

M: 根据驻留内存大小进行排序

P:根据CPU使用百分比进行排序

T: 根据累计时间进行排序

4、进程间通信(IPC: Inter Process Communication

重要的信号:

1SIGHUP: 让一个进程不用重启,就可以重读其配置文件,并让新的配置信息生效;

2: SIGINTCtrl+c: 中断一个进程

9: SIGKILL:杀死一个进程

15: SIGTERM:终止一个进程, 默认信号

指定一个信号:

信号号码:kill -1

信号名称:kill -SIGKILL

信号名称简写:kill -KILL

kill PID

killall COMMAND

5、调整nice值:

调整已经启动的进程的nice值:

renice NI PID

在启动时指定nice值:

nice -n NI COMMAND

6、前台作业:占据了命令提示符

    后台作业:启动之后,释放命令提示符,后续的操作在后台完成

前台–>后台:

Ctrl+z: 把正在前台的作业送往后台

COMMAND &:让命令在后台执行

bg: 让后台的停止作业继续运行

bg [[%]JOBID]

7、jobs: 查看后台的所有作业

作业号,不同于进程号

+:命令将默认操作的作业

:命令将第二个默认操作的作业

fg: 将后台的作业调回前台

fg [[%]JOBID]

kill %JOBID: 终止某作业

vmstat:系统状态查看命令

uptime

/proc/meminfo

8、Linux任务计划、周期性任务执行

未来的某时间点执行一次任务

at

batch:系统自行选择空闲时间去执行此处指定的任务

周期性运行某任务

Cron

at命令:at [option] TIME

v常用选项:

-V 显示版本信息:

-l: 列出指定队列中等待运行的作业;相当于atq

-d: 删除指定的作业;相当于atrm

-c: 查看具体作业任务

-f /path/from/somefile:从指定的文件中读取任务

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

v注意:作业执行命令的结果中的标准输出和错误以邮件通知给相关用户

vTIME:定义出什么时候进行at 这项任务的时间

HH:MM [YYYY-mm-dd]

noon, midnight, teatime4pm

tomorrow

now+#{minutes,hours,days, OR weeks}

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

黑名单:/etc/at.deny默认存在,拒绝该文件中用户执行at命令,而没有在at.deny文件中的使用者则可执行

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

原创文章,作者:cui,如若转载,请注明出处:http://www.178linux.com/85543

(0)
cuicui
上一篇 2017-08-28
下一篇 2017-08-28

相关推荐

  • shell脚本基础

    1、编程基础     程序:指令+数据   程序编程风格:                         过程式:以指令为中心,数据服务于指令         &nbs…

    2017-04-20
  • Nginx代理MogileFS并实现负载均衡和高可用

    Nginx代理MogileFS并实现负载均衡和高可用 MogileFS nginx 负载均衡 前言 实验拓扑 实验环境 实验步骤 配置MogileFS 配置Nginx 总结 前言 上篇文章我们了解分布式系统和MogileFS的基本使用, 但是那样的架构是有问题的, 本篇文章我们来了解一下如何使用nginx-mogilefs-module-…

    大数据运维 2016-05-05
  • 磁盘管理及文件系统

    磁盘及文件系统管理初步与进阶(重点内容) 磁盘分区及文件系统 linux系统管理 磁盘分区及文件系统管理:分区工具 linux磁盘及文件系统管理 整个操作系统的硬件组成部分,最底层是硬件设备,计算能力得以运行的最根本的基础。 计算机的五大基本部件:cpu,运算器,控制器被整合到一起,由一个硬件部件来提供。 存储器(主存rom可编址的存储单元)。主板上有cpu…

    Linux干货 2016-08-30
  • N21_第x周_Storm_01_单机实践篇

       这2周没有按马哥安排的课程走,因公司需要,大家一直在试尝大数据这块。作业不能不做,也不知道马哥哪周的作业会有storm,只好先将这段时间的实验慢慢记录下来(其它flume、kafka、spark等本周会慢慢补充),等知道具体的作业题目后,再完善。 实验目的   了解storm的原理,并用storm单机版实验加深理解,为后面…

    Linux干货 2016-09-15
  • 马哥教育网络班21期+第6周课程练习

    请详细总结vim编辑器的使用并完成以下练习题1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; %s/^([[:space:]]{1,}.*)/#\1/s 2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行…

    Linux干货 2016-08-10
  • linux权限详解

    写在前面: 本博客详解命令chmod,  chowm,  chgrp,  umask,  install,  mktemp  权限管理: 进程文件访问权限应用模型: 进程的属主与文件属主是否相同,如果相同,则应用属主权限 否则,检查文件的属主是否属于文件的属组,如果是,则应用属主权限 否则,应用ot…

    Linux干货 2015-12-19