Производительность ЦП при команде «спящий режим»

Производительность ЦП при команде «спящий режим»

Это скорее вопрос новичка. Интересно, что происходит, когда sleepкоманда запускается из скрипта bash, например. Это задание все еще будет выполняться, но с меньшим приоритетом?

решение1

Обычно,sleepэтоГНУsleepпрограмма. Эта программа вызывает функцию GNUxnanosleep, который в свою очередь вызывает Linuxnanosleepсистемный вызов. И:

nanosleep()  suspends  the execution of the calling thread until either
at least the time specified in *req has elapsed, or the delivery  of  a
signal  that triggers the invocation of a handler in the calling thread
or that terminates the process.

Таким образом, процесс по определению не запущен (независимо от приоритета), а приостановлен.

Тестирование этого:

sleep 10 & ps aux | grep $!
[1] 25682
muru  25682  0.0  0.0   7196   620 pts/13   SN   04:10   0:00 sleep 10

Theсостояние процессаявляется SN:

   S    interruptible sleep (waiting for an event to complete)
   N    low-priority (nice to other users)

Не обращайте внимания N, я бы предположил, что так оно и было, когда начиналось. Так что эффективное состояние — sleepэто interruptible sleep.

Связанный контент