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

相关推荐

  • 周期性计划任务crond讲解

    crond是Linux或者unix系统的作业调度程序。运用它,在设定的时间段周期性执行某个命令或脚本。下文的例子均在centos 7.3上测试。一、crond组件 如果centos7.3最小化安装,不一定存在crond服务,需要手动安装,安装之后手动启动并设置以后自行开机启动。 主要有cronie、cronie-anacron、crontabs三个程序包。 …

    Linux干货 2017-03-27
  • 马哥教育网络班20期+第四周博客作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 # cp -R /etc/skel /home/tuser1 # chmod -R go-x /home/tuser1 2、编辑/etc/gro…

    Linux干货 2016-06-29
  • Linux文件系统管理

    Linux文件系统: ext2, ext3, ext4, xfs, btrfs, reiserfs, jfs, swap swap: 交换分区(虚拟内存) 光盘: iso9660       windows: fat32, NTFS       Unix: FFS, U…

    Linux干货 2016-08-15
  • 编译安装LAMP及分离式LAMP平台构建

    前言 LAMP网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网站服务器,MySQL数据库,Perl、PHP或者Python编程语言,所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和Java/J2EE架构相比,LAMP具有Web资源丰富、轻量、快速开发等特点,与微软的.NET架构相比,L…

    Linux干货 2015-04-20
  • Linux用户、组和权限管理详解

    用户管理简要说明:     1.越是对服务器安全性要求高的服务器,越需要建立合理的用户权限等级制度和服务器操作规范。     2.在Linux中主要是通过用户配置文件来查看和修改用户信息。 初始组和附加组     初始组:就是指用户一登录就立刻拥有这个用户组的相关权限,每个用户的…

    Linux干货 2016-08-05
  • systemd

    systemd 启动流程:POST -> BIOS -> MBR bootloader -> kernel 临时根 -> 根文件系统 -> init init 能够管理、控制init进程的模块,就是init系统 能够让系统在用户预定义的级别下运行 设备管理器: sysvinit : CentOS 5 第一个广泛应用的init系统…

    Linux干货 2017-05-21