Skip to main content

Bash Subshells i paralelna obrada

Kako pokrenuti misice koji su uspavani i poboljsati motoricke funkcije tela (mindmuculeconnection) (Lipanj 2025)

Kako pokrenuti misice koji su uspavani i poboljsati motoricke funkcije tela (mindmuculeconnection) (Lipanj 2025)
Anonim

Shema je osnovno sučelje za unos naredbi na Linux sustav. Pomoću nje možete izravno unijeti naredbu ili odrediti datoteku (skriptu) koja sadrži niz naredbi koje treba izvršiti. Shellovi su organizirani u hijerarhiji, a svaka ljuska može stvoriti novu ljusku. Nova školjka smatra se procesom djeteta - podgrupe - matične ljuske koja ga stvara.

Prema zadanim postavkama, podskup podrazumijeva njegov roditelj u smislu da ako završi roditeljski proces, podružnica se također prekida. Bilo koji izlaz premješten je iz podgrupe na glavnu ljusku.

Kako stvoriti Subshell

U skripti skupa Bash kreirajte podrume pomoću zaglavlja zagrade:

U primjeru, petlja je zatvorena u zagradama, što uzrokuje da se izvršava u podskupu ljuske u kojoj se izvršava skripta.

Pokretanje Subshell u pozadini

Ako ne odredite da se podrhtavanje mora izvršiti u pozadini, matična školjka čeka nastavak završetka prije nastavka s ostatkom skripte. Međutim, ako želite paralelno pokrenuti podgrupe, pokrenite ih u pozadini, što se postiže znakom i znakom koji slijedi izraz iz podgrupa, kako je prikazano ovdje:

Pokretanje višestrukih pretplata u paralelnom

Ako stvorite više pretplata kao pozadinske procese, možete pokrenuti zadatke paralelno. Tipično, operacijski sustav koristi različite procesore ili jezgre za svaki proces i podproces, uz pretpostavku da ima barem onoliko procesora ili jezgri, kao što postoje procesi. Inače, zadatci se dodjeljuju istim procesorima ili jezgrama. U tom slučaju, procesor ili jezgra kontinuirano se prebacuje između dodijeljenih zadataka dok se zadaci ne dovrše. Sljedeći primjer ima dva podprocesa. Prvi broji od 1 do 99, a drugi od 1000 do 1099.

Upotrijebite čekanje da biste roditelju pričekali da završi s podprocesom prije nastavka s ostatkom skripte:

Koristi za Subshells

Subshells su korisni kada se naredbe moraju izvršiti u određenom okruženju ili direktoriju. Ako se svaka naredba izvodi u različitoj podgrupi, nema rizika da će se promjenjive postavke miješati. Po završetku, postavke i trenutni direktorij ne moraju biti vraćeni jer okoliš nadređenog procesa ne utječe ni u jednom od njegovih podprocesa.

Subshells se mogu koristiti u definicijama funkcija, tako da se mogu izvršiti više puta s različitim parametrima.