进程管理和作业控制

来源:互联网 发布:淘天下网络pos机 编辑:程序博客网 时间:2024/05/22 00:10

linux系统中的进程分为三种不同的类型:
交互进程:有一个shell启动的进程。
批处理进程:不与特定的终端相关联,提交到等待队列中顺序执行的进程。
守护进程:在linux启动时初始化,需要时运行于后台的进程。


进程启动的方式:
手工启动:由用户输入命令,直接启动一个进程便是手工启动进程。
          手工启动又包括前台启动和后台启动两种:
          前台启动:一般的,用户键入一个命令ls -l就是前台启动一个进程
          后台启动:在命令行后使用&就是以后台启动进程,如:ls -R />list.txt &

调度启动


查看进程:
ps [选项]

选项      说明
a         显示所有进程
e         在命令后显示环境变量
u         显示用户名和启动时间等信息
x         显示没有控制终端的进程
f         显示进程树
w         宽行输出
-e        显示所有进程
-f        显示全部

ps命令经常痛管道命令连用,如:ps -aux|more   ps -aux|grep httpd



杀死系统中的进程
kill -9 pid(进程号)
killall -9 apache(进程名)


作业控制是指控制当前正在运行的进程的行为,也称为进程控制。作业控制是Shell的一个特性,使用户能在多个独立进程间进行切换。例如,用户可以挂起一个正在运行的进程,稍后再恢复它的运行。bash记录所有启动的进程并保持对所有已启动的进程的跟踪,在每一个正在运行的进程的生命期内的任何时候,用户可以任意地挂起进程或重新启动进程恢复运行。
例如,当用户使用Vi编辑一个文本文件,并需要中止编辑做其他事情时,利用作业控制,用户可以让编辑器暂时挂起,返回Shell提示符开始做其他的事情。其他事情做完以后,用户可以重新启动挂起的编辑器,返回到刚才中止的地方,就像用户从来没有离开编辑器一样。这只是一个例子,作业控制还有许多其他实际的用途。



作业控制的常用命令或操作快捷键
cmd &     命令后的&符号表示将该命令放到后台运行,一面霸占终端
<Ctrl+d>      终止一个正在前台运行的进程(含有正常含义)
<Ctrl+c>      终止一个正在前台运行的进程(含有强行含义)
<Ctrl+z>      挂起一个正在前台运行的进程
jobs     显示后台作业和被挂起的进程
bg     重新启动一个挂起的作业,并且在后台运行
fg     把一个在后台运行的作业放到前台来运行