Unix中的作业和进程之间有什么区别?你能举个例子吗?
答案 0 :(得分:10)
作业是由shell启动的进程。 shell在作业表中跟踪这些内容。 jobs命令显示活动后台进程列表。他们得到的jobspec号码不是流程的pid。像fg这样的命令使用jobspec id。
本着JürgenHötzel的榜样:
find $HOME | sort &
[1] 15317
$ jobs
[1]+ Running find $HOME | sort &
$ fg
find $HOME | sort
C-c C-z
[1]+ Stopped find $HOME | sort
$ bg 1
[1]+ find $HOME | sort &
亲自尝试一下这些示例并查看手册页。
答案 1 :(得分:8)
Process Group可被视为作业。例如,您在shell中创建后台进程组:
$ find $HOME|sort &
[1] 2668
您可以将两个流程视为新流程组的成员:
$ ps -p 2668 -o cmd,pgrp
CMD PGRP
sort 2667
$ ps -p "$(pgrep -d , -g 2667)" -o cmd,pgrp
CMD PGRP
find /home/juergen 2667
sort 2667
你也可以杀死整个过程组/工作:
$ pkill -g 2667
答案 2 :(得分:6)
http://en.wikipedia.org/wiki/Job_control_%28Unix%29:
在工作控制设施的影响下的流程被称为工作。
答案 3 :(得分:2)
http://en.wikipedia.org/wiki/Job_control_%28Unix%29
作业是一个或多个作为“作业”组合在一起的进程,其中作业是UNIX shell概念。
答案 4 :(得分:0)
作业由多个串行或并行运行的进程组成。流程是一个正在执行的程序。
答案 5 :(得分:0)
我认为工作是一个预定的流程或一组流程,一个工作总是有计划的概念,否则我们可以称之为一个流程。
答案 6 :(得分:0)
作业是一个或多个进程,这些进程被分组为一个“作业”,其中作业是UNIX Shell概念。作业由多个串行或并行运行的进程组成。而 进程是正在执行的程序。工作是当您想了解从当前shell启动的进程时。