Чӣ тавр ба таври дуруст омӯзишҳои Subshellро истифода кунед?

Чӣ тавр ба исбот кардани зерсистемаҳо дар остона дар параллелӣ иҷро карда мешавад

Шабакаи интерфейси асосӣ барои ворид намудани фармонҳо дар системаи Linux мебошад. Бо он, шумо метавонед бевосита фармонро ворид кунед ё файлро (скрипт) нишон диҳед, ки ҷабҳаҳои фармонро иҷро мекунад. Селҳо дар як сатр ташкил карда мешаванд, ва ҳар як ниҳонӣ метавонад ниҳонӣ нав кунад. Қутти нав як раванди кӯдакон ҳисобида мешавад - як зерсохтори пӯсти ванна, ки онро бунёд мекунад.

Бо нобаёнӣ, як зерсистема ба волидони худ вобаста аст, ки агар раванди волидайн хотима ёбанд, субсидия низ қатъ мегардад. Ҳар як истеҳсолот аз қабати поёнӣ ба пӯсти волид мегузарад.

Чӣ тавр эҷод кардани Subshell

Дар скрипти панели Bash, шумо як зерсистемаро бо истифодаи воҳиди воҳиди эҷод месозад:

#! / bin / bash echo "Пеш аз оғози зерсохтор" (рақами = 1 ҳангоми [$ count-99] echo "$ count" хоби 1 ((шумори ++)) echo "

Дар мисол, дар вақти вуруд ба варақа, ки онро дар як зерсохтори ниҳонӣ иҷро мекунад, ки дар он файлҳои скрипт иҷро карда мешавад.

Дар Ҷопон корҳои зеринро иҷро кунед

Агар шумо ишора кунед, ки зерсистема дар замина иҷро карда мешавад, ниҳолшиноси волид барои қабати поёнӣ то давом додани истироҳат боқӣ мемонад. Бо вуҷуди ин, агар шумо мехоҳед, ки асбобҳо дар баробари параллелҳо иҷро шаванд, шумо онҳоро дар замина мегузоред, ки бо тасвиргари амплитудагӣ пас аз зеркашӣ ифода меёбад, чунон ки дар ин ҷо нишон дода шудааст:

#! / bin / bash echo "Пеш аз оғози subshell" (рақами = 1 ҳангоми [$ count-99] echo "$ count" хоби 1 ((шумори ++)) ва echo "

Ҷойгир кардани Multiple Subshell дар параллел

Агар шумо асбобҳои гуногунро ҳамчун равандҳои пасошӯравӣ эҷод кунед, шумо метавонед вазифаҳои дар баробари параллелиро иҷро кунед. Одатан, системаи оператсиониро барои ҳар як раванд ва зерпаптивҳои гуногун истифода мебаранд, бо вуҷуди он, ки ҳадди аққал бисёре аз коргарон ё нохунакҳое вуҷуд доранд, ки равандҳо вуҷуд доранд. Дар акси ҳол, вазифаҳо ба ҳамон коркардкунандаҳо ё нусхабардорӣ таъин карда мешаванд. Дар ин ҳолат, протсессор ё аслӣ дар байни вазифаҳои таъиншуда то ба анҷом расидани вазифа пайваст мешавад. Намунаи навбатии ду зерпостро дорад. Аввал як аз 1 то 99, ва дуввум аз 1000 то 1099.

#! / bin / bash echo "Пеш аз оғози subshell" (рақами = 1 ҳангоми [$ count-99] echo "$ count" хоби 1 ((шумори ++)) анҷом дода шудааст ва (шумора = 1000 ҳангоми [$ count -le 1099] echo "$ count" хоби 1 ((шумори ++)) анҷом ва & echo "

Пешакии интизорӣ барои пешрафт кардани раванди волидайн барои интизории зерсохторҳо то ба охир расидани скрипт:

#! / bin / bash echo "Пеш аз оғози subshell" (рақами = 1 ҳангоми [$ count-99] echo "$ count" хоби 1 ((шумори ++)) анҷом дода шудааст ва (шумора = 1000 ҳангоми [$ count -le 1099] echo "$ count" хоби 1 ((шумори ++)) анҷом диҳед & wait echo "Finished"

Истифодаи Subshell

Ҷудокунӣ ҳангоми истифодаи фармонҳо бояд дар муҳити махсус ё феҳрист иҷро карда шаванд. Агар ҳар як фармоиш дар зерсохтори дигар иҷро карда шуда бошад, хавфе вуҷуд надорад, ки танзимоти тағйирёфта омехта мешавад. Дар хотима, танзимот ва феҳристи ҷорӣ лозим намешавад, зеро муҳити ҷараёни раванди волидайн аз ҷониби яке аз зерсохтори он таъсир намерасонад.

Subshells метавонанд дар функсияҳои функсия истифода шаванд, то ки онҳо чанд маротиба бо параметрҳои гуногун иҷро карда шаванд.