Du har brug for, at én overførsel bliver færdig, mens du går væk, og den sovende Mac er den oplagte mistænkte. caffeinate kan holde et strømkrav præcis i det vindue, og det er et smallere værktøj, end det ser ud ved første øjekast. Det forhindrer lediggangssøvn, mens en kommando kører; det holder ikke en VPN-session i live og redder ikke en overførsel fra legitimationsoplysninger, der udløber ved midnat. Viden om, hvor dets rækkevidde slutter, er det, der forhindrer den næste fejl i at blive skudt på det forkerte lag.

Hvad kravet egentlig holder

Værktøjet beder strømstyringssystemet holde et krav åbent, så længe den indpakkede proces lever. Når processen afsluttes, forsvinder kravet med den. Netop den levetid er det nyttige: du slår ikke en indstilling for hele maskinen til og håber at huske at fortryde det senere.

Flagene vælger forskellige krav. -i forhindrer lediggangssøvn i systemet. -d rammer skærmens søvn, og -s rammer systemets søvn i de situationer, hvor systemet tillader det. Ingen af dem er et generelt løfte om at «forblive vågen», og ingen af dem låser skærmen op eller forhindrer et lukket låg. Vælg det, der svarer til den afbrydelse, du faktisk så.

Den forskel betyder noget, når nogen rapporterer, at Mac’en «alligevel sov». Spørgsmålet er, hvilket krav der blev anmodet om, i hvor lang tid, og hvilken hændelse der forårsagede søvnen. Strømstyring vurderer flere input, og et krav dækker ét af dem.

Indpak opgaven i stedet for at pynte på sessionen

caffeinate -i /usr/bin/ssh [email protected]

Dette holder lediggangskravet, så længe SSH-klienten kører, hvilket er hele pointen med at indpakke i stedet for at køre i baggrunden. VPN-profilen er urørt, der sendes ingen hold-i-live-signaler, og intet i tunnelens konfiguration ændres.

Til et afgrænset vindue er varighedsflaget den ærlige form:

caffeinate -i -t 1800

Stop det kald med dets normale afbrydelse, når opgaven er færdig før tid. Efterlad ikke en stak indpakninger i baggrunden og ryd ikke op senere ved at dræbe hver proces med samme navn; du kommer til at fjerne noget, du gerne ville beholde.

Søvn er én årsag, ikke årsagen

At forhindre lediggangssøvn fjerner én afbrydelse fra listen. Det tilsidesætter ikke en bevidst søvnkommando, et lukket låg, et strømtab eller en politik, en administrator har sat. Det er separate beslutninger, og forventningen om, at et krav på brugerniveau vinder over dem, er måden, hvorpå folk konkluderer, at værktøjet ikke virker.

Skærmsøvn og skærmlås er også separate. En Mac kan være vågen med skærmen slukket, og den kan låse, mens opgaven fortsætter. Hvis kravet er en oplyst skærm, er det et andet flag; hvis kravet er en oplåst skærm, giver intet flag det. Sig, hvilket af de tre udfald du faktisk har brug for, før du vælger en kontakt, for de er ikke én adfærd under forskellige navne.

VPN-sessionen holder sit eget ur

En IPsec- eller TLS-tunnel fornyer nøgler efter en tidsplan, som endepunkterne har aftalt, og en server kan håndhæve en maksimal sessionlevetid uanset klientaktivitet. Legitimationsoplysninger udløber. Et adgangslink kan falde af grunde, der intet har at gøre med, at bærbaren er vågen. Ingen af disse bekymrer sig om et strømkrav.

Så når nyttig trafik fejler, mens Mac’en tydeligt er vågen, er en forlænget varighed hverken en forklaring eller en reparation. Læs fejlen: en nøglefornyelsesfejl, en udløbet godkendelse og en mistet bærer ser forskellige ud i tunnel-loggen, og hver har sin egen løsning.

Læg holdbarheden på den eksterne vært

Hvis tabet af den lokale forbindelse ville spilde timer af arbejde, er svaret på den anden side. En terminal-multiplekser holder sessionen i live på serveren, når SSH dør, og et jobsystem holder arbejdet i live, når sessionen slutter. Ingen af dem afhænger af bærbarens strømtilstand.

Det er en anden fejlgrænse, og det er den, der betyder noget for lange opgaver. Kombinér de to kun, når begge er sande: maskinen skal forblive vågen til den lokale del af arbejdet, og den eksterne del skal overleve en afbrydelse. Verificér derefter ved at genoprette forbindelse fra en anden terminal og kontrollere, at jobbet stadig kører.

Skriv ned, hvilket krav du brugte, og hvornår det slutter. Et kortvarigt operationelt valg er fint; et uforklaret permanent et bliver en supportbillet seks måneder senere, når ingen kan huske, hvorfor Mac’en aldrig sover.

Relaterede artikler