API акыркы чекитин экспорттогон VPN илгичи өзү ишке киргизген процесстердин чөйрөсүн өзгөртөт, туннель көтөрүлгөндө мурунтан ачык турган терминалдын чөйрөсүн эмес. Ушул бир айырма «курал дагы эле жалпы акыркы чекитти чакырат» деген кабарлардын көбүн түшүндүрөт. Жөндөөнү коюуга эки иштөөчү орун бар, жана тандоо аны ким колдоноруна жана канчалык тез өзгөрөрүнө көз каранды. Дагы бир ишке киргизүү скриптин кошпой туруп экөөнү салыштырыңыз.

Жөндөө жашай алган эки орун

Биринчи вариант — буйруктун өзүндөгү префикс: маани ушул бир чакырык үчүн гана бар жана аны менен жоголот. Экинчи вариант — байланыш илгичинин ичиндеги экспорт, ал ушул учурдан кийин илгич ишке киргизген ар бир процесске жетет. Алар камтуу жана жашоо узактыгы менен айырмаланат, синтаксис менен эмес, жана ушул айырма ийгиликсиздиктердин көбүн чечет.

PropertyPrefix on the commandExport from the hook
Who receives itThat invocation onlyChildren the hook starts
LifetimeUntil the process exitsUntil the hook's own session ends
LeakageScoped to one commandApplies to later commands in that session
Repeat costEvery invocationOnce per connection
Works for an open editorNo, unless the editor is started with itNo

Таблица илгичти арзан көрсөтөт жана чыныгы эсепти жашырат: ал тапшырмага тиешеси жок буйруктар үчүн да жеке акыркы чекитти тандайт. Ар бир сапты тандоо эмес, чектөө катары окуңуз. Эгер акыркы чекит тапшырма сайын өзгөрсө, бир клавиша басууга турса да, тактыкта префикс жеңет.

Эмне үчүн илгич мурунтан ачык кабыкка жете албайт

Чөйрө өзгөрмөлөрү процесске процесстин сүрөтү түзүлгөндө берилет. Байланыштан мурун башталган кабык алган көчүрмөсүн сактайт, жана илгичтин ичинде аткарылган экспорт машинадагы ар бир процесске таратуу эмес. Аны илгичтин өз балдары гана мураска алат. Кабыктын өз балдары ишке кирген учурда кабыкта эмне болсо, ошону алышат, ошондуктан бир эле буйрук бир терминалда иштеп, экинчисинде ийгиликсиз болушу мүмкүн.

Ошол эле графикалык редакторго тиешелүү. Анын кеңейтүүлөр хосту, курулган терминалы жана фондук тил сервери ишке киргизүүдө бутактанып, өз көчүрмөлөрүн кармайт. Папканы кайра ачуу бул балдарды сөзсүз түрдө кайра ишке киргизбейт, ошондуктан кошкон жөндөөңүз дагы эле жетпейт.

Эң арзан текшерүү — өзгөрмөнү иштеп жаткан кабыктан эмес, ийгиликсиз болгон жерден басып чыгаруу. Эгер ийгиликсиз процесс туннелге чейин башталса, экспорттун мүмкүнчүлүгү болгон эмес.

Ар бир буйрук үчүн форма, жазылган

Префикс тандоону аны колдонгон буйруктун ичинде көрүнүктүү кармайт, бул акыркы чекит тапшырмалар арасында өзгөргөндө жардам берет:

env INTERNAL_API='https://internal-api.example.net:8443' my-work-tool

Буйрук мисал гана: my-work-tool — орун толтургуч, ал эми INTERNAL_API VPN стандарты эмес, ошондуктан чындап иштеткен программанын документтелген жөндөөсүн жана өзүңүздүн уруксат берилген хостту коюңуз. Бир сапка токен же сырсөз койбоңуз, себеби ал кабык тарыхына түшөт.

Бир нече буйрук бир тапшырмага таандык болсо, кыска текшерилген ороп берүүчү скрипт өзгөрмөлөрдү коюп, анан аларды ишке киргизет. Бул бир аныктаманы сактайт жана маанини терминалдагы бардык келечектеги буйруктар үчүн глобалдуу кылбайт.

Кайра жүктөңүз, кайра ишке киргизиңиз же ошондой эле калтырыңыз

Мурунтан иштеп жаткан курал үчүн, эгер бар болсо, анын өзүнүн кайра жүктөөсүн же жумуш мейкиндигинин профилин артык көрүңүз. Болбосо жумушту сактап, жөндөөнү окуган компонентти кайра ишке киргизиңиз, ал көбүнчө редактордун терезеси эмес, тил сервери болот. Терезени кайра ишке киргизип, бала процесстер ага ээрчиди деп болжолдоо — кайра жүктөө иштебейт окшоп көрүнүшүнүн себеби.

Ажыратуу өзүнчө чечим. Тыныгуу, жабуу же кайра туташуу колдонмого таандык, жана акыркы чекит өзгөрмөсү аны башкарбайт. Өзгөрмөгө дарек тандаган конфигурация катары мамиле кылыңыз, кийин кайсы тармактык трафикти колдонсо болот деген эреже катары эмес, жана эки маселе өз-өзүнчө бойдон калат.

Тектеш макалалар