第三章 进程管理与计划任务

1、进程的管理

1.1、程序与进程(program  &  process)

1.1.1、什么是程序和进程

程序:通常为binary program,放置在储存媒介中,为实体存在的形态概念。

进程:程序被触发后,执行者的权限与 属性,程序的数据和代码都会被加载的内存中,操作系统并给予这个内存内的单元一个标示符(PID),可以说,进程是程序的一个副本。

1.1.2、程序与进程的区别

  1. 程序是指令与数据的有序集合,是一种静态的概念。进程是实实在在运行的,所以他是一个动态的概念。
  2. 程序能作为一种软件资料长期保存,而进程则是由一定的生命周期,他能够动态的产生和消亡。
  3. 进程是竞争计算机资源的基本单位。

1.1.3、子进程与父进程

有可能很长一段时间直至系统关闭,父进程都没有回到原有的时间轴上。

1.1.4、fork and e进程呼叫流程

进程的呼叫流程也叫 fork-and-exec,首先父进程通过fork的方式复制一份,产生一个一模一样的子进程,然后被复制的进程在以exec的方式来执行实际要执行的程序,最终形成一个子进程的存在。

1.1.5、系统与网络服务(常驻在内存中的的进程)

进程按照其运行类型可分为交互进程、守护进程。按照状态可分为5种状态,以后会提到。

系统每分钟都在扫描/etc/crontab以及相关文件,来进行工作排程,由crond程序在后台运行安排,这些常驻内存的进程我们称为守护进程,而展现在我们bash面板下面的,而已在前台也可以在后台运行的称为交互进程。

1.1.6、多人多任务环境

  • 多人:Linux下不同账号登陆,会产生不一样的shell环境,即不一样的PID进程。
  • 多任务:CPU每秒处理这来自不同用户发送的命名,实现多任务。
  • 在CentOS中默认还有其他的6个shell终端可以进行操作。

1.2、工作管理job control

前提条件:工作在bash环境下,当我们登入系统取得bash shell后,在单一终端下进行多个工作行为管理。我们无法再tty1中的环境下去管理tty2的bash。我们在bash环境下产生的进程实际上都是bash的子进程。

1.3.1、工作管理的基本操作

  • Ctr+z    :=将目前的工作丢到背景中,工作将会显示stoped的状态
  • jobs -lrs:用来查看当前bash环境下的所有工作
  • +/-        :+表示最近一次被放到背景的,-表示最近最后第二个被放置到背景中的。
  • fg   %# :调背景工作回到前景。优先调用+号
  • bg  %# :# bg %3,将背景stoped状态的工作转为runing,继续执行。此时在显示行的最后会加上一个&

1.2.2、管理背景中的工作:kill

[root@study ~]# kill -signal %jobnumber
[root@study ~]# kill -l
选项与参数:
-l :这个是 L 的小写,列出目前 kill 能够使用的讯号 (signal) 有哪些?
signal :代表给予后面接的那个工作什么样的指示啰!用 man 7 signal 可知:
-1 :重新读取一次参数的配置文件 (类似 reload);
-2 :代表与由键盘输入 [ctrl]-c 同样的动作;
-9 :立刻强制删除一个工作;
-15:以正常的进程方式终止一项工作。与 -9 是不一样的。

参数的数字其实是signal的编号

1.2.3、关于脱机管理的问题

以上job工作管理,当你账号注销时,也会随之关闭。除非你使用at或者nohup,但是nohup是不支持bash的内建命令的

1.3进程管理

1.3.1、观察进程

 

猜你喜欢

转载自blog.csdn.net/bleach357/article/details/89954137
今日推荐