Prevent Mac from Falling Asleep While Running MATLAB Code

34 vues (au cours des 30 derniers jours)
Miles
Miles le 12 Oct 2015
Commenté : Walter Roberson le 11 Fév 2017
I'm looking to run a MATLAB script overnight that takes hours to run, but the problem is that my laptop falls asleep during that timeframe. I would like to add a line to the top of my script to tell my computer to disable sleep mode and then a line at the bottom of my script to enable sleep mode so that my computer isn't awake all night. I thought it might work to add system('caffeinate') at the top and system('killall caffeinate') at the bottom, but it gets hung up on the first command and doesn't run my code. Does anybody have a solution for this? I'm currently running MATLAB R2015a on OS X 10.10.5. Thanks for the help!

Réponses (2)

ptorab
ptorab le 11 Fév 2017
This is really a MATLAB OS X bug; MATLAB needs to send frequent PM assertions to OS X while it is running to prevent it from going sleep. Apple seems to have changed the logic of going to sleep to something that no longer depends on CPU or disk activity, but explicit power assertions from applications.
  1 commentaire
Walter Roberson
Walter Roberson le 11 Fév 2017
Hmmmm. There is not much hope that it would send power assertions while it is calling into MKL or LINPACK or BLAS to do extensive computations.

Connectez-vous pour commenter.


Kelly Kearney
Kelly Kearney le 12 Oct 2015
I've never used caffeinate, so I'm not entirely sure how the command works (though it looks like a good one to know, so thanks for the reference!). However, it looks like calling it without any inputs causes it to wait for a response, which is why Matlab never moves on to the next command. Perhaps try running it in the background?
system('caffeinate &');
  1 commentaire
Miles
Miles le 12 Oct 2015
Thanks for the quick response, that appears to make caffeinate work. Based on the documentation of caffeinate here, which arguments should I pass through to make sure my code doesn't stop? Would
system('caffeinate -dims &');
be the best implementation of this code?

Connectez-vous pour commenter.

Catégories

En savoir plus sur App Building dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by