Slaap slaap voorkomen terwijl een proces of opdracht actief is in Mac OS X

Veel Mac-gebruikers gebruiken hulpprogramma's om tijdelijk te voorkomen dat hun computer slaapt, vaak afhankelijk van slaaphoeken, de externe tool genaamd Caffeine, pmset of recenter, het opdrachtregelhulpprogramma dat nu is gebundeld met OS X, caffeinate genaamd. Standaard zullen het Caffeine-menu voor de menubalk en het cafeïnevrije commando beide de slaap voorkomen zolang ze afzonderlijk worden geactiveerd, erg handig voor desktopgebruikers terwijl ze op een Mac zijn, maar niet erg handig als je de OS X-slaapfunctie wilt hebben afhankelijk van de voltooiing van een specifiek proces of taak.

Dat is wat we hier gaan behandelen door de opdrachtregel te gebruiken, die procesafhankelijke slaappreventie heeft die alleen de Mac-slaapfunctie blokkeert terwijl een gespecificeerde opdracht, taak of proces actief of actief is, en wanneer het klaar is, computer zal traditionele slaapgewoonten herstellen.


Om commando-specifieke slaapvermijding te bereiken, gebruiken we een variant van het cafeïnevrije commando, dat slaap op verschillende manieren kan voorkomen. We zullen enkele voorbeelden bespreken, maar de man-pagina van cafeïne biedt een paar extra opties die ook in andere situaties wenselijk kunnen zijn.

Voor onze doeleinden hier om de slaappreventie afhankelijk te maken van de voltooiing van een specifiek commando of proces, gebruik je de -i flag likes dus:

caffeinate -i [command / process]

Het is misschien al duidelijk, maar als je de opdracht cafeïne op deze manier uitvoert, wordt ook de opdracht of het proces gestart die in het argument is opgegeven.

Als u bijvoorbeeld wilt dat de Mac niet slaapt wanneer de opdracht "make" actief is, gebruikt u de volgende syntaxis van de opdracht:

caffeinate -i make

Of misschien wil je gewoon slapen voorkomen terwijl een ssh-verbinding actief is naar een specifieke server, en je wilt de caffeinate-opdracht naar de achtergrond sturen, dan zou je ook een ampersand gebruiken zoals het volgende:

caffeinate -i ssh coffeebeans &

U kunt dit zelfs uitvoeren met uw eigen scripts of opdrachten op een andere locatie:

caffeinate -i /private/tmp/./whatisthis.sh

Of om slaappreventie actief te laten zolang de Safari-webbrowser in de GUI draait, zou je de volgende syntaxis gebruiken, merk op dat je het volledige pad naar het binaire bestand in het .app-bestand moet opgeven:

caffeinate -i /Applications/Safari.app/Resources/MacOS/Safari

De vlag -i voorkomt dat het systeem slaapt, maar u kunt ook andere vlaggen gebruiken om beweringen te doen voor het voorkomen van schijf- of weergaveslaap. Om te voorkomen dat de display-slaap (dat wil zeggen, het scherm uitschakelt en in de vergrendelde modus of een screensaver komt), is de vlag -d nodig:

caffeinate -d [command / process]

Net als de vlag -i kan dit van toepassing zijn op elke systeemtaak, of deze nu wordt uitgevoerd vanaf de opdrachtregel of de GUI, maar zorg ervoor dat u de juiste naam opgeeft met de juiste hoofdletter. Een ander voorbeeld:

caffeinate -d telnet towel.blinkenlights.nl

Dat commando betekent dat zolang het telnet naar de Star Wars ASCII-film actief is, het display van de Mac niet zal slapen. Als telnet is gestopt of Star Wars is voltooid, kan het systeem slapen zoals gewoonlijk wordt toegestaan, gedefinieerd door slaap- en energie-instellingen in OS X.

Omdat caffeinaat volledig is gebaseerd op de opdrachtregel, is het natuurlijk niet van toepassing op alle gebruikers, maar voor degenen die veel tijd in de Terminal doorbrengen, kan het een goede truc zijn. Voor Mac-gebruikers die zich meer op hun gemak voelen in de grafische gebruikersinterface, zijn een effectieve anti-slaaphoek en het gebruik van de Caffeine-app nog steeds de beste gok om vergelijkbare functies uit te voeren.

Als u een vergelijkbare procesafhankelijke taak wilt uitvoeren maar de Terminal en de opdrachtregel wilt vermijden, bereikt de Wimoweh-app hetzelfde als een menubalk drop-down, hoewel het een betaalde app is die het voor sommige gebruikers minder wenselijk kan maken, en het biedt geen algemeen proces of op commandoregel gebaseerd taakafrondingsargument. Dus, cafeïnezuur met een goede vlag heeft nog steeds de voorkeur van velen.