Esta es más bien una pregunta para principiantes. Me pregunto qué sucede cuando sleep
el comando se activa desde un script bash, por ejemplo. ¿Ese trabajo seguiría ejecutándose, con menos prioridad?
Respuesta1
Típicamente,sleep
es elÑUsleep
programa. Este programa llama a la función GNUxnanosleep
, que a su vez llama a Linuxnanosleep
llamada al sistema. Y:
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.
Entonces, el proceso, por definición, no está en ejecución (cualquiera que sea la prioridad), sino suspendido.
Probando esto:
sleep 10 & ps aux | grep $!
[1] 25682
muru 25682 0.0 0.0 7196 620 pts/13 SN 04:10 0:00 sleep 10
Elestado del procesoes SN
:
S interruptible sleep (waiting for an event to complete)
N low-priority (nice to other users)
Ignora el N
, supongo que así era cuando empezó. Entonces el estado efectivo de sleep
es interruptible sleep
.