Это скорее вопрос новичка. Интересно, что происходит, когда 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
.