Esta é uma questão bastante iniciante. Eu me pergunto o que acontece quando sleep
o comando é acionado a partir de um script bash, por exemplo. Esse trabalho ainda estaria em execução, com menos prioridade?
Responder1
Tipicamente,sleep
é oGNUsleep
programa. Este programa chama a função GNUxnanosleep
, que por sua vez chama o Linuxnanosleep
chamada do sistema. E:
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.
Portanto, o processo não está, por definição, em execução (qualquer que seja a prioridade), mas suspenso.
Testando isso:
sleep 10 & ps aux | grep $!
[1] 25682
muru 25682 0.0 0.0 7196 620 pts/13 SN 04:10 0:00 sleep 10
Oestado do processoé SN
:
S interruptible sleep (waiting for an event to complete)
N low-priority (nice to other users)
Ignore o N
, acho que era assim quando começou. Portanto, o estado efetivo de sleep
é interruptible sleep
.