В чем разница между работой и процессом в Unix?

В чем разница между заданием и процессом в Unix? Можете ли вы привести пример?

Ответ 1

Задания - это процессы, запускаемые оболочкой. Оболочка отслеживает их в таблице рабочих мест. Команда jobs отображает список активных фоновых процессов. Они получают номер задания, который не является pid процесса. Команды, такие как fg, используют идентификатор jobspec.

В духе примера Юргена Хётцела:

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 &

Попробуйте сами примеры и посмотрите страницы руководства.

Ответ 2

A Группа процессов может рассматриваться как задание. Например, вы создаете группу фонового процесса в оболочке:

$ 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

Ответ 4

http://en.wikipedia.org/wiki/Job_control_%28Unix%29

Задания - это один или несколько процессов, которые сгруппированы вместе как "задание", где задание представляет собой концепцию оболочки UNIX.

Ответ 5

Задача состоит из нескольких процессов, выполняющихся последовательно или параллельно. Процесс - это выполняемая программа.

Ответ 6

job - это когда вы хотите узнать о процессах, запущенных из текущей оболочки.

процесс - это когда вы хотите узнать о процессе, запущенном с любой оболочки или компьютера.

Ответ 7

Я думаю, что задание - это запланированный процесс или набор процессов, у задания всегда есть понятие расписания, иначе мы могли бы назвать это процессом.

Ответ 8

Задания - это один или несколько процессов, которые сгруппированы как "задание", где задание - это концепция оболочки UNIX. Задание состоит из нескольких процессов, выполняющихся последовательно или параллельно. в то время как процесс - это исполняемая программа. задание - это когда вы хотите узнать о процессах, запущенных из текущей оболочки.