Versnel het afsluitproces in OS X

Wanneer u uw Mac afsluit, probeert OS X programma's en achtergronddiensten op te lossen; Onder bepaalde omstandigheden kan dit echter uitzonderlijk lang duren, zodat het systeem minuten wacht voordat het uiteindelijk wordt afgesloten. Soms wacht het systeem op een interactie zoals het opslaan van een document, maar op andere momenten komt het doordat achtergrondservices niet meer reageren en het systeem een ​​vooraf bepaalde tijd wacht voordat ze worden gedwongen te stoppen.

Over het algemeen zou OS X slechts een paar seconden nodig hebben om uit te schakelen, dus als je systeem consequent lang duurt, suggereert dat een probleem dat moet worden aangepakt. Soms kan dit eenvoudigweg een problematisch randapparaat zijn of twee, of het kan een foutieve configuratie van uw systeem zijn. In deze gevallen zou u enkele basisprocedures voor het oplossen van problemen moeten proberen om het probleem te identificeren en op te lossen.

Als u echter regelmatig lange stops tegenkomt, maar met meer willekeurige intervallen, zijn ze mogelijk situationeel en kunnen ze worden veroorzaakt doordat het systeem op sommige achtergrondprocessen wacht om te worden afgesloten.

Standaard wacht het systeem op achtergrondprocessen die op zichzelf eindigen, maar als dat niet het geval is, stuurt het dergelijke processen na 20 seconden een kill-signaal en als deze processen met verschillende intervallen worden uitgesteld, kan dit een shutdown naar een aantal minuten.

Voor sommige achtergrondprocessen die de neiging hebben om meer dan anderen op te hangen, zal het eenvoudigweg veranderen van deze standaard 20-seconden tijd naar een lagere waarde ervoor zorgen dat het systeem deze processen eerder verlaat. Het is niet de beste manier om processen af ​​te sluiten om te stoppen, maar het systeem maakt zich al klaar om dit te doen tijdens het afsluiten. Nogmaals, OS X staat alleen het proces toe om een ​​20-seconden venster te verlaten en dan zal het systeem het proces met kracht doden.

De achtergrondservices die tijdens dergelijke time-outs schijnbaar veel boosdoeners zijn, zijn die services die interprocescommunicatie, authenticatiebeheer en schijf- en netwerkresource-activiteit afhandelen. In OS X zijn dit de volgende:

  • AppleEvents - Hiermee kunnen processen communiceren met en opdrachten geven aan elkaar (en is dit de basis voor AppleScript). Het kan time-out van onderbrekingen in interproces communicatie (bijvoorbeeld, als een proces wordt gedwongen om te stoppen wanneer evenementen worden beheerd).
  • securityd - Hiermee wordt de toegang tot sleutelhangers en andere beveiligingsmachtigingen beheerd en kan er een time-out optreden als wordt gewacht op gebruikersinteractie voor een aantal verificatieaanvragen.
  • mDNSResponder - beheert multicast DNS-acties, inclusief automatische detectie van netwerkservers en -services. Dit kan time-out van problemen met de lokale netwerkconfiguratie.
  • diskarbitrationd - De schijfarbitrator controleert de montage en toegankelijkheid van lokale bestandssystemen, en kan een time-out hebben van een fout in de schijven die worden gebruikt, of als een schijf offline of slaapstand gaat en het even duurt voordat hij wakker wordt.
  • Apple ID-authenticatie - beheert de verificatie van uw Apple ID voor verschillende diensten; kan time-out van slechte netwerktoegang of gebrek aan reactie van Apple-servers.

Het beheer van de time-outs van deze processen wordt uitgevoerd door het startproces van het systeem launcher, waarin de standaardtime-out van 20 seconden voor processen is vastgelegd. Door de launcher opdracht te geven deze periode zelfs met de helft in te korten, kunt u shutdowns die achterblijven vanwege deze processen aanzienlijk versnellen.

Als u de time-outs wilt wijzigen, moet u de daemon-updatebestanden wijzigen die het systeem gebruikt voor deze services, dus zorg eerst dat u een back-up van uw systeem hebt en voer vervolgens de volgende opdrachten uit, die u kunt kopiëren en plakken (elke opdracht is twee regels) in het OS X Terminal-hulpprogramma (in de map Toepassingen> Hulpprogramma's):

sudo standaardinstellingen write / System / Library / LaunchDaemons / c \

om.apple.coreservices.appleevents ExitTimeOut -int 5

sudo standaardinstellingen write / System / Library / LaunchDaemons / c \

om.apple.securityd ExitTimeOut -int 5

sudo standaardinstellingen write / System / Library / LaunchDaemons / c \

om.apple.mDNSResponder ExitTimeOut -int 5

sudo standaardinstellingen write / System / Library / LaunchDaemons / c \

om.apple.diskarbitrationd ExitTimeOut -int 5

sudo standaardinstellingen write / System / Library / LaunchAgents / com. \

apple.coreservices.appleid.authentication ExitTimeOut -int 5

In deze opdrachten zoals hierboven beschreven, wordt de time-outwaarde ingesteld op "5", wat betekent dat het systeem 5 seconden wacht voordat een proces tijdens het afsluiten wordt gedood, maar u kunt dit wijzigen naar een geheel getal groter dan nul (een waarde van nul schakelt de waarde uit) time-out, dus het zou voor onbepaalde tijd wachten). Houd er rekening mee dat dit "sudo" -opdrachten zijn. Dit betekent dat wanneer u de eerste uitvoert, u uw beheerderswachtwoord moet opgeven (dat niet in de terminal wordt weergegeven wanneer daarom wordt gevraagd), maar dat u dan geen wachtwoord hoeft in te voeren voor de volgende opdrachten .

Plak beide regels van elke bovenstaande opdracht in de terminal, verander de waarde van 5 naar een ander nummer als u dat wilt (u kunt de opdrachten op elk gewenst moment met verschillende waarden uitvoeren). Wanneer u klaar bent, start u uw computer opnieuw op en kijkt u vervolgens of dit uw shutdown-tijden verbetert.

Om deze acties ongedaan te maken, kunt u de opdrachten opnieuw uitvoeren, maar met een waarde van 20, of u kunt de volgende opdrachten uitvoeren om het "EntryTimeOut" -instellingenitem te verwijderen, dat standaard niet is opgenomen in deze startdaemon- en agentscripts:

sudo standaardinstellingen verwijderen / Systeem / Bibliotheek / LaunchDaemons / c \

om.apple.coreservices.appleevents ExitTimeOut

sudo standaardinstellingen verwijderen / Systeem / Bibliotheek / LaunchDaemons / c \

om.apple.securityd ExitTimeOut

sudo standaardinstellingen verwijderen / Systeem / Bibliotheek / LaunchDaemons / c \

om.apple.mDNSResponder ExitTimeOut

sudo standaardinstellingen verwijderen / Systeem / Bibliotheek / LaunchDaemons / c \

om.apple.diskarbitrationd ExitTimeOut

sudo standaardinstellingen verwijderen / Systeem / Bibliotheek / LaunchAgents / com \

.apple.coreservices.appleid.authentication ExitTimeOut


 

Laat Een Reactie Achter