GNU/Linux >> Tutoriales Linux >  >> Linux

el uso de < /dev/null &en la línea de comandos

< /dev/null se utiliza para enviar instantáneamente EOF al programa, de modo que no espere la entrada (/dev/null , el dispositivo nulo, es un archivo especial que descarta todos los datos escritos en él, pero informa que la operación de escritura tuvo éxito y no proporciona datos a ningún proceso que lo lea, lo que produce EOF inmediatamente). & es un tipo especial de separador de comandos que se usa para poner en segundo plano el proceso anterior.

Sin conocer el programa al que se llama, no sé directamente por qué es necesario ejecutarlo de esta manera.


</dev/null desconecta la entrada del programa de la terminal. Algunos programas reaccionan de manera diferente según a qué esté conectada su entrada estándar. Con la redirección </dev/null , el programa puede decir que su entrada no proviene de una terminal y recibirá una indicación de fin de archivo inmediatamente si intenta leer desde su entrada estándar.

El solitario & al final hace que el programa se ejecute en segundo plano. Esto significa que obtendrá un aviso de shell de inmediato. Sin el & , obtendrá un aviso de shell solo cuando el programa termine de ejecutarse.

Tenga en cuenta que el & independiente no está relacionado con >& . >& es un operador de redirección (en tcsh, bash y zsh) que redirige tanto la salida estándar del programa como el error estándar del programa al nombre de archivo especificado después del operador (aquí log ).

En otras palabras, lo que hace el shell cuando ve esta línea de comando es:

  • Inicie un proceso en segundo plano. En el proceso de fondo:
    • Conecte la entrada estándar a /dev/null (el dispositivo nulo).
    • Conecte tanto la salida estándar como el error estándar al archivo llamado log (crear el archivo si aún no existe y truncarlo si existe).
    • Busque un archivo ejecutable llamado java en el $PATH .
    • Ejecute ese archivo con los 5 argumentos -cp , /home/weka.jar , weka.classifiers.trees.J48 , –t , tren_archivo`.

Linux
  1. ¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

  2. ¿Qué tan portátiles son /dev/stdin, /dev/stdout y /dev/stderr?

  3. ¿Cuándo usar /dev/random Vs /dev/urandom?

  4. Cómo silenciar completamente un cronjob a /dev/null/?

  5. ¿Simula Stdin vacío en comando separado?

¿Ingresar automáticamente la entrada en la línea de comando?

¿Qué son los archivos /dev/zero y /dev/null en Linux?

¿Cuándo debo usar /dev/shm/ y cuándo debo usar /tmp/?

DD de /dev/zero a /dev/null... lo que realmente sucede

kernel:deshabilitar /dev/kmem y /dev/mem

Crear un dispositivo de bloque virtual que escriba en /dev/null