Skip to main content

Басх Субсхеллс и Параллел Процессинг

Anonim

Шук је основни интерфејс за унос команди на Линук систем. Са њим можете директно да унесете команду или наведете датотеку (скрипту) која садржи низ команди за извршавање. Шкољке су организоване у хијерархији, а свака граната може створити нову шкољку. Нова љуска се сматра дечијим процесом - подгрупом - од родитељске шкољке која га ствара.

Подразумевано, подсклоп зависи од његовог родитеља у смислу да ако се родитељски процес заврши, поддршка се такође завршава. Сваки излаз се преноси из подгрупе до родитељске љуске.

Како креирати подкупу

У Басх схелл скрипти, креирате поддршку помоћу записа загради:

У примјеру, петље петље је затворено у загради, што доводи до тога да се изврши у подскупу схелл-а у којој се извршава скрипта.

Покретање подсектора у позадини

Осим ако не наведете да се подскупица извршава у позадини, родитељска шкољка чека да се заврши подслој пре него што наставите са остатком скрипте. Међутим, ако желите паралелно покренути подскупине, покренете их у позадини, што се постиже знаком амперсанд који следи израз подврста, као што је приказано овде:

Покретање вишеструких подслиха у паралелној

Ако креирате више поддршаваца као позадинске процесе, можете покренути задатке паралелно. Обично оперативни систем користи различите процесоре или језгре за сваки процес и подпроцес, под претпоставком да има најмање толико процесора или језгара пошто постоје процеси. У супротном, задаци се додељују истим процесорима или језгрима. У том случају, процесор или језгро непрекидно прелазе између задатих задатака док се задаци не заврше. Следећи пример има два подпроцеса. Први броји од 1 до 99, а други од 1000 до 1099.

Користите изјаву чекања да бисте родитељском процесу рекли да чекају да подпроцеси заврше пре него што наставите са остатком скрипте:

Користи се за Субсхеллс

Субсхеллс су корисни када команде морају бити извршене у одређеном окружењу или директорију. Ако је свака наредба извршена у другој подскупини, не постоји ризик да се променљива подешавања помешају. По завршетку, подешавања и тренутни директоријум не морају бити враћени, пошто окружење родитељског процеса није под утицајем било ког од његових подпроцеса.

Субсхеллс се могу користити у дефиницијама функција тако да се могу извршавати више пута са различитим параметрима.