process 进程

进程-线程等

Job

前台--后台:
后台任务"与"前台任务"的本质区别只有一个:是否继承标准输入
联机--脱机 -以及crontab
脱机管理主要是针对终端异常断开的情形。 脱机工作:离线后台运行
通常使用nohup命令来使得脱机或注销之后,Job依旧可以继续运行。也就是说nohup忽略所有挂断(SIGHUP)信号
00. 无论是前台作业还是后台作业,两者都来自当前的shell,是当前shell的子程序。
下面是两者的定义。
前台作业:可以由用户参与交互及控制的作业我们称之为前台作业。
后台作业:在内存可以自运行的作业,用户无法参与交互以及使用[ctrl]+c来终止,只能通过bg或fg来调用该作业。
a、 command & 直接让作业进入后台运行
b、 [ctrl]+z 将当前作业切换到后台
c、 jobs 查看后台作业状态
d、 fg %n 让后台运行的作业n切换到前台来
d、 bg %n 让指定的作业n在后台运行
e、 kill %n 移除指定的作业n
"n" 为jobs命令查看到的job编号,不是进程id。
每一个job会有一个对应的job编号,编号在当前的终端从1开始分配。
01. crontab命令被用来提交和管理用户的需要周期性执行的任务。crond的概念和crontab是不可分割的。crontab是一个命令,
常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。
该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。而crond正是它的守护进程。
Linux下的任务调度分为两类:系统任务调度和用户任务调度
在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件
所有用户定义的crontab文件都被保存在/var/spool/cron目录中
02.crontab文件
crontab支持两种状态:
a.直接编写计划任务;
b.使用目录的方式,放在目录里面的都会定时执行,定时目录可在/etc/crontab中设定
第一步:写cron脚本文件,命名为crontest.cron。
15,30,45,59 * * * * echo "xgmtest....." >> xgmtest.txt 表示,每隔15分钟,执行打印一次命令
第二步:添加定时任务。
执行命令 “crontab crontest.cron”
第三步:"crontab -l" 查看定时任务是否成功或者检测/var/spool/cron下是否生成对应cron脚本 解释:
* * * * * /bin/sh /scripts/yy.sh
分 时 日 月 周 命令和文件路径
(00-59) (0-23) (1-31) (1-12) (0-6)
所用符号表示意思
* 星号每的意思
- 减号连续一段时间,如:00 17-19 * * * cmd 每天下午17点,18点,19点执行一次命令
, 逗号多个时间段,如:00 10-11,17-19 * * * cmd 每天的上午10,11点整,下午的17,18,19点整执行一次命令
/n n代表数字,指每隔n时间执行一次,如: */2 * * * * cmd 每隔2分钟执行一次命令
注意事项:
创建了一个crontab,但是这个任务却无法自动执行,而手动执行这个任务却没有问题,
这种情况一般是由于在crontab文件中没有配置环境变量引起的。在 crontab文件中定义多个调度任务时,
需要特别注意的一个问题就是环境变量的设置,因为我们手动执行某个任务时,是在当前shell环境下进行的,程 序当然能找到环境变量,
而系统自动执行任务调度时,是不会加载任何环境变量的,因此,就需要在crontab文件中指定任务运行所需的所有环境变量,这 样,系统执行任务调度时就没有问题了。
不要假定cron知道所需要的特殊环境,它其实并不知道。所以你要保证在shelll脚本中提供所有必要的路径和环境变量,
除了一些自动设置的全局变量。所以注意如下:
1)脚本中涉及文件路径时写全局路径;
2)脚本执行要用到java或其他环境变量时,通过source命令引入环境变量,如:
cat start_cbp.sh
#!/bin/sh
source /etc/profile
export RUN_CONF=/home/d139/conf/platform/cbp/cbp_jboss.conf
/usr/local/jboss-4.0.5/bin/run.sh -c mev &
新创建的cron job,不会马上执行,至少要过2分钟才执行。如果重启cron则马上执行
仅仅执行一次 at 守护进程 atd
用户准备退出 session
系统向该 session 发出SIGHUP信号
session 将SIGHUP信号发给所有子进程
子进程收到SIGHUP信号后,自动退出
上面的流程解释了,为什么"前台任务"会随着 session 的退出而退出:因为它收到了SIGHUP信号。
那么,"后台任务"是否也会收到SIGHUP信号?
这由 Shell 的huponexit参数决定的。
$ shopt | grep huponexit
执行上面的命令,就会看到huponexit参数的值 大多数Linux系统,这个参数默认关闭(off)。因此,session 退出的时候,不会把SIGHUP信号发给"后台任务"

守护进程

daemon  守护进程(daemon)是一类在后台运行的特殊进程,用于执行特定的系统任务
一般在命名后面会加一个d,表示守护进程
1.service命令是Redhat Linux兼容的发行版中用来控制系统服务的实用工具,
它以启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态。
centos
启动某个独立的守护程序服务的方式
2.etc/init.d/syslog start
建议大家将service命令
替换为/etc/init.d/mysqld stop(因为有一些linux的版本不支持service)

进程

1.进程分类
01.守护进程
前台进程
后台进程
02.父进程
子进程
03.系统进程
用户进程
2.进程状态
基本状态
就绪状态
运行状态
阻塞状态
转换过程
就绪状态---> 运行状态-
运行状态---->阻塞状态
运行状态--->就绪状态
阻塞状态---> 就绪状态 <唤醒>
3.进程的查看
ps
pstree
top
4.进程的组成
程序
数据
进程控制块(PCB)
包含<标志信息、说明信息、现场信息、管理信息>
结构: 线性 索引 链式
5.进程控制 相关内容 :
作业控制

Linux进程和任务管理的更多相关文章

  1. Linux进程管理及while循环

    目录 进程的相关概念 进程查看及管理工具的使用 Linux系统作业控制 调整进程优先级 网络客户端工具 bash之while循环 20.1.进程类型 守护进程 daemon,在系统引导过程中启动的进程 ...

  2. 如何灵活运用Linux 进程资源监控和进程限制

    导读 每个 Linux 系统管理员都应该知道如何验证硬件.资源和主要进程的完整性和可用性.另外,基于每个用户设置资源限制也是其中一项必备技能. 在这篇文章中,我们会介绍一些能够确保系统硬件和软件正常工 ...

  3. TODO:Golang Linux进程退出说明

    TODO:Golang Linux进程退出说明 Golang使用os.Exit(code)进程退出导致当前程序退出并返回给定的状态代码.传统上,code代码为零表示成功退出,非零错误退出. sysca ...

  4. Linux进程管理子系统分析【转】

    本文转载自:http://blog.csdn.net/coding__madman/article/details/51298732 Linux进程管理: 进程与程序: 程序:存放在磁盘上的一系列代码 ...

  5. 12个Linux进程管理命令介绍(转)

    12个Linux进程管理命令介绍 [日期:2015-06-02] 来源:Linux中国  作者:Linux [字体:大 中 小]   执行中的程序在称作进程.当程序以可执行文件存放在存储中,并且运行的 ...

  6. linux 进程管理相关内容

    简介 当我们运行程序时,Linux会为程序创建一个特殊的环境,该环境包含程序运行需要的所有资源,以保证程序能够独立运行,不受其他程序的干扰.这个特殊的环境就称为进程. 每个 Linux 命令都与系统中 ...

  7. Linux - 进程查看与管理

    标签(空格分隔): Linux 进程的静态查看 查看系统所有进程 ps -ef -- 输出来好乱,看不懂..: ps aux -- a表示所有与终端相关的进程,u表示所有以用户组织的进程状态的信息,x ...

  8. Linux进程关系

    Linux进程关系   作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Linux的进程相互之间有一定的关系.比如说,在Linux ...

  9. Linux进程基础

    Linux进程基础   作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 计算机实际上可以做的事情实质上非常简单,比如计算两个数的和 ...

随机推荐

  1. centos安装桌面,下面的几个包缺一不可

    yum groupinstall “X window system” yum groupinstall “Desktop” yum groupinstall “Chinese Support” 不然的 ...

  2. PHP——emjoin表情存入数据库

    前言 还有一种解决的方法是更改数据库,这里就不写了,这里直接对emoji进行转码 代码 mb_strlen() | strlen() | rawurlencode() | rawurldecode() ...

  3. Django+Vue打造购物网站(三)

    商品列表页 通过商品列表页面来学习drf django的view实现商品列表页 在goods目录下新建一个views_base.py文件,用来区分drf的view和Dajngo自带的view的区别 利 ...

  4. Matplotlib学习---用seaborn画矩阵图(pair plot)

    矩阵图非常有用,人们经常用它来查看多个变量之间的联系. 下面用著名的鸢尾花数据来画一个矩阵图.从sklearn导入鸢尾花数据,然后将其转换成pandas的DataFrame类型,最后用seaborn画 ...

  5. Gogs 部署安装(windows)

    Gogs简介 Gogs 是一款类似GitHub的开源文件/代码管理系统(基于Git),Gogs 的目标是打造一个最简单.最快速和最轻松的方式搭建自助 Git 服务.使用 Go 语言开发使得 Gogs ...

  6. 【hdu 4658】Integer Partition (无序分拆数、五边形数定理)

    hdu 4658 Integer Partition 题意 n分拆成若干个正整数的和,每个正整数出现小于k次,分拆方案有多少.(t<=100,n<=1e5) 题解 之前写过一篇Partit ...

  7. HR_Jumping on the Clouds

    1.没有考虑i+2越界的问题 2.没有考虑结尾三个零导致 -5 3.没有考虑len(c)<2 导致 -5 #!/bin/python3 import math import os import ...

  8. centos7系统排错

    系统排错 troubleshooting winPE --光盘或u盘启动盘 产生一个PE系统(类似内存上跑的临时系统) 系统排错 rescue 模式 (挽救模式) 类似windows winPE模式 ...

  9. Vagrant将下载好的镜像装载到本地中

    Vagrant box add centos7 ${path}CentOS-7-x86_64-Vagrant-1803_01.VirtualBox Vagrant init ${名字} Vagrant ...

  10. CodeFroces-- 511div2 C. Enlarge GCD

    题目链接:C. Enlarge GCD 给你一个序列 删除一些数看可以让他们之间的gcd变大如果可以输出删除数量最小的个数 先求出共同 gcd 然后除去 找出出现最多的质数 然后减去就可以了 #inc ...