Unix中的作业和进程有什么区别?

wdebmtf2  于 2023-10-18  发布在  Unix
关注(0)|答案(8)|浏览(170)

Unix中的jobprocess有什么区别?你能给予举个例子吗?

qyyhg6bp

qyyhg6bp1#

作业是由shell启动的进程。shell在一个作业表中跟踪这些。jobs命令显示活动后台进程的列表。他们得到一个jobspec编号,它不是进程的PID。像fg这样的命令使用jobspec ID。
关于Jürgen Hötzel's example

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 &

请自己尝试这些示例并查看手册页。

k4ymrczo

k4ymrczo2#

一个Process Group可以被认为是一个 Job。例如,在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
vql8enpb

vql8enpb3#

http://en.wikipedia.org/wiki/Job_control_%28Unix%29
在作业控制设施影响下的进程称为作业。

9rbhqvlz

9rbhqvlz4#

http://en.wikipedia.org/wiki/Job_control_%28Unix%29
作业是一个或多个被组合在一起作为“作业”的进程,其中作业是UNIX shell概念。

fcg9iug3

fcg9iug35#

作业是一个或多个被组合在一起作为“作业”的进程,其中作业是UNIX shell概念。一个作业由多个串行或并行运行的进程组成。而进程是正在执行的程序。job是当你想知道从当前shell启动的进程时。

m528fe3b

m528fe3b6#

一个作业由多个串行或并行运行的进程组成。进程是正在执行的程序。

fumotvh3

fumotvh37#

job是指你想知道从当前shell启动的进程。
process是指您想了解从任何shell或计算机运行的进程。

isr3a4wc

isr3a4wc8#

我认为作业是一个预定的过程或一组过程,作业总是有时间表的概念,否则我们可以称之为过程。

相关问题