linux 进程及作业管理

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

进程ID(Process ID,PID)号码被用来标记各个进程

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

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

存在生命周期

Uninterruptible sleep: 不可中断的睡眠

Interruptible sleep:可中断睡眠

2、进程优先级:

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

0-139(CentOS5)

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

0-98,99(CentOS6)

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

nice值:-20到19,对应系统优先级100-139或99

100-139:用户可控制

0-99:内核调整的

3、ps: 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)

重要的信号:

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

2: SIGINT:Ctrl+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, teatime(4pm)

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 14:37
下一篇 2017-08-28 15:16

相关推荐

  • sed的详细用法

    sed(Stream EDitor)是一款流编辑器,用来对文本进行过滤与替换操作。其原理是:通过文件或管道读取文件内容,但是sed默认并不直接修改源文件,而是一次仅读取文件的一行至模式空间(pattern space)根据sed指令进行编辑并输出结果后清除模式空间,即所有的操作都是在模式空间中进行的。 语法格式 sed [option]…&nb…

    Linux干货 2016-11-14
  • 【26期】Linux第八周学习小总结

        前言     本周的学习已经过去了,虽然本周学习中老师一直都有说,哎呀,这个不重要,以后有网络管理员给你们来做,了解一下就行,然而话锋一转就又说,其实小公司没有网络管理员,如果你们不好好学,以后就会做得更多更杂的工作,这一周的知识点基本上都是在一个pdf上的,大概有200…

    2017-09-02
  • CentOS系统启动

    Linux组成 Linux: kernel+rootfs kernel:  进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能 rootfs: 程序和glibc 库:函数集合, function,  调用接口(头文件负责描述) 过程调用:procedure ,无返回值 函数调用:function 程序:二进制执行文件 内核设计流派…

    2017-05-15
  • 第六周作业-练习题sed,crontab,bash

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;    方法一用sed:          方法二用vim       &…

    Linux干货 2017-01-16
  • PXE自动化安装系统

    PXE自动化安装的流程: 开机自检 > 加载ROM中的bios代码 > 检查设备启动顺序,由于PXE自动安装是基于网卡作引导的,所以,会选择网卡 > 网卡中会有PXE的模块,从dhcp服务器获取ip地址 掩码 网关 dns 重要的是tftp服务器的地址 从tftp服务器需要获取的bootloder的文件名的信息 > 从tftp中加载p…

    Linux干货 2015-08-11
  • 关于生命中出现的那个男人

    绝对真男人     一个人的一生,会遇到很多很多的男人,哦,也会遇到很多很多的女人,但是我们今天就谈谈男人吧.在这芸芸众生中对于我们这些志向于在linux求发展谋生存的人来说,有个男人会是所有linux爱好者的良师益友.这个男人就是man,这个男人是绝对的男人,因为他是在linux这个系统中无所不知的那个男人. &nb…

    Linux干货 2016-10-27