Препознајте VPN помошник на Mac пред да го убиете процесот
Пред запирање, усогласете го VPN процесот со неговата извршна датотека, контролерот и неговата мрежна улога, потоа користете ја патеката за запирање на сопственикот наместо сигнал.
Порака за помошник што веќе работи третирајте ја како трага за животниот циклус, а не како дозвола да почнете да убивате процеси. Опасниот чекор не е самото запирање, туку идентификацијата пред него, бидејќи на еден Mac може да постојат неколку компоненти со слични имиња и само една од нив ја поседува врската. Прво изградете го записот за идентитет. Потоа одлучете дали запирањето воопшто е вистинската постапка.
Изградете запис за идентитет пред да дејствувате
Четири факти го прават процесот препознатлив: тековниот PID со неговото време на започнување, извршната датотека и производот на кој припаѓа, контекстот на корисник или привилегии под кој работи, и сѐ што го започнало. ps -o pid,ppid,user,etime,command -p 1234 ви ги дава првите три во еден ред, вклучително и колку долго процесот е жив. Activity Monitor ја покажува истата информација со попријателско лице. Додајте го контролерот, односно апликацијата или услугата одговорна за негово започнување и запирање. Со овие четири, процесот престанува да биде име и станува објект за кој можете да размислувате.
Ако еден од четирите е непознат, застанете таму. Непозната компонента е прашање за издавачот или администраторот, а не експеримент.
PID во стар дневник сега му припаѓа на некој друг
ID на процеси се рециклираат, а бројот копиран од вчерашниот дневник сега може да покажува на нешто сосема неповрзано. Споредете го времето на започнување со временската ознака на дневникот пред да извлечете каков било заклучок. Истото важи и за кратко име: две изданија на еден производ можат да испорачаат помошници со идентични имиња и различни намени. Идентитетот е торката, никогаш само бројот.
Одделете ги улогите пред да допрете нешто друго. Клиентот на една врска, заеднички помошник што служи неколку апликации и сервер што прифаќа сесии на други луѓе сите изгледаат како позадински процес во список. Само еден од нив може да се запре без последици што не сте ги имале предвид.
Запрете преку сопственикот, а не преку сигналот
Почнете со контролата што ја поседува работата: копчето Исклучи на врската, поддржаната команда за запирање на услугата или сопствената постапка на агентот за управување. Тие патеки го извршуваат расклопувањето што производот го очекува, вклучително отстранување на рутите и затворање на уредот за тунел. Сигналот сето тоа го прескокнува и остава состојба зад себе.
Внимавајте што останува потоа. Процес што останува во меморијата сѐ уште можеби чека на следната врска, што е дизајнерска одлука, а не неуспешно запирање.
Зошто надзорникот го рестартира тоа што сте го убиле
Ако демон за подигнување или политика за автоматско поврзување има намера тунелот да биде активен, убивањето на процесот не изразува ништо. Надзорникот го гледа излезот и го започнува повторно, понекогаш пред да завршите со читање на дневникот.
Најдете го надзорникот пред да се борите со него. launchctl list ги прикажува вчитаните задачи и нивните ознаки, а задача со поставка за одржување во живот се рестартира при излез по дизајн. Правилната постапка таму е да ја промените намерата: истоварете ја задачата, оневозможете ја политиката за автоматско поврзување или побарајте од администраторот да го стори тоа. Принудното затворање е различен алат со различно значење и припаѓа на документирана постапка за обновување на заглавен процес, а не на редовното управување со врски.
Забележете го настанот од животниот циклус, а не убивањето
Запишете го идентитетот на компонентата, верзијата на клиентот, првиот релевантен настан од животниот циклус и што сте направиле. Настанот е поважен од постапката, бидејќи две инстанци што се појавуваат при најава се проблем со редоследот на подигнување што ќе се повтори. Запис што ја именува извршната датотека и неговиот контролер му овозможува на следниот човек да го репродуцира.
Потоа проверете ја саканата состојба: услугата што му била потребна на корисникот и приватниот ресурс до кој достигнува. Избегнувајте го текот што пребарува подниза и присилно го убива секое совпаѓање, бидејќи го отфрла сето горенаведено и обично го уништува доказот зошто постоеле две инстанци. Ако процесот продолжува да се враќа, наодот е дефект во конфигурацијата или редоследот, а поправката им припаѓа на оние што го поседуваат однесувањето при подигнување на клиентот.