Réponses:
Dans Mountain Lion, vous pouvez utiliser la caffeinate
commande.
caffeinate -u -t 1000
empêchera le sommeil inactif pendant 1000 secondes.
La solution à ce problème n'est pas de garder le client (votre Mac) éveillé. L'utilisation d'approches comme celle-ci n'est pas fiable. Que se passe-t-il si la connexion réseau est perdue? Même si votre Mac est réveillé, le script s'arrêtera.
Utilisation nohup
Si votre script de longue durée est appelé eternity.sh
, essayez ce qui suit:
nohup /path/to/eternity.sh > /path/to/output.out &
Vous pouvez maintenant même fermer la connexion et votre script continuera de fonctionner . Met en &
arrière plan le processus afin que vous puissiez garder la connexion ouverte et entrer des commandes. Affichez toute sortie de votre script via:
tail -f /path/to/output.out
Les chemins dans les exemples sont facultatifs si le script se trouve sur votre chemin et que vous souhaitez que la sortie du script soit écrite output.out
dans le répertoire courant.
Je gère des scripts qui s'exécutent pendant des jours à la fois. Des scripts comme ceux-ci doivent être détachés du terminal. Heureusement, nohup
fournit une invocation de commande facile à retenir pour y parvenir - pensez à ne pas raccrocher .
Pmset est une autre option . Utilisez la commande pmset noidle
pour empêcher le sommeil tant qu'il pmset
est en cours d'exécution. Malheureusement, cela nécessite une fenêtre de terminal distincte avec pmset
exécution en elle. Cependant, l'autre option caffeinate
,, vous permet uniquement de définir une certaine heure . Il s'agit donc de choisir si vous souhaitez ouvrir une deuxième session SSH ou faire face à une contrainte de temps.
Edit: Selon le commentaire de binarybob , vous pouvez réellement l'exécuter en arrière-plan comme ceci: pmset noidle &
Pour revenir au pmset
type fg
.
pmset
en arrière-plan à l'aide pmset noidle &
et donc continuer à utiliser l'invite de commandes actuelle. Tapez fg
pour pmset
revenir, à quel moment vous pouvez Ctrl + C
!pmset noidle
- très agréable lorsque vous avez un ordinateur de bureau servant un bloc-notes IPython et un ordinateur portable se connectant à distance.
caffeinate -i -s /bin/ssh ...
Explication:
-i
- Empêche le sommeil inactif.
-s
- Empêchez le système de dormir (entièrement, même si vous fermez le couvercle). Remarque: il ne fonctionne que sur secteur.
/bin/ssh
- Continuez simplement à écrire la commande que vous souhaitez exécuter. Utiliser ssh
directement au lieu de /bin/ssh
devrait également fonctionner.
Résultats: votre système ne dormira pas tant que la ssh
commande sera en cours d'exécution.
Si vous recherchez l'option nucléaire comme je l'étais:
sudo systemsetup -setcomputersleep Never
L'économiseur d'écran StarMessage ( http://starmessagesoftware.com/moonscreensaver/ ) a également la possibilité de garder le MAC éveillé pendant 2 heures, 8 heures ou de façon permanente. Cette façon de désactiver le sommeil MAC est beaucoup plus facile que la caféine.