¿Existe un comando de Linux que no hace nada, pero que nunca sale?

¿Existe un comando de Linux que no hace nada, pero que nunca sale?

Estoy buscando un comando de Linux que literalmente no haga nada, no genere nada, pero permanezca activo hasta ^C.

while true; do; doneno es una buena solución porque consume mucha CPU.

Respuesta1

si miramosllamadas al sistemaDe hecho, hay uno que hace exactamente eso.pause(2):

pause()hace que el proceso de llamada (o hilo) entre en suspensión hasta que se entregue una señal...

Por supuesto, entonces sólo necesitaríamos un programa que lo use. A falta de compilar el programa C de dos líneas que aparece a continuación, la forma más sencilla probablemente sea con Perl:

perl -MPOSIX -e pause

Cª:

#include <unistd.h>
int main(void) { return pause(); }

Respuesta2

GNU sleepy la sleepversión integrada de ksh93(pero no mksh) aceptan cualquier número de punto flotante, no solo números enteros, por lo que puedes hacer esto:

sleep infinity

Respuesta3

Simplemente agregue un sleepcomando.

while true; do sleep 600; done

Dormirá durante 10 minutos entre bucles.

Respuesta4

puede:

tail -f /an/existing/regular/file >/dev/null

Esto no usará stdin (como readlo haría) y permanecerá esperando una nueva adición a /un/existing/regular/file (no funciona en algunos archivos: tail -f /dev/nullsaldrá inmediatamente. Pero funcionará para todos los archivos normales. Si ese archivo es no crece, el comando consumirá poca CPU)

información relacionada