Este es el comando vacío que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
vacío: ejecutar procesos en sesiones de pseudo-terminal
SINOPSIS
vacío -f [-i FIFO1 -O Fifo2] [-p archivo.pid] [-L archivo.log] comando [argumentos de comando]
vacío -w [-Sv] [-tn] [-i FIFo2 -o Fifo1] tecla1 [respuesta1] ... [teclaX respuestaX]
vacío -s [-Sc] -o fifo1 [solicitud]
vacío -r [-b tamaño] [-tn] [-i FIFo2]
vacío -l
vacío -k [pid] [señal]
vacío -h
DESCRIPCIÓN
vacío es una utilidad que proporciona una interfaz simple para ejecutar y / o interactuar con
procesos en sesiones pseudo-terminales. Esta herramienta es definitivamente útil en la programación de
scripts de shell que se utilizan para comunicarse con programas interactivos como telnet o ftp.
En algunos casos vacío puede ser una sustitución de TCL / esperar u otra programación similar
herramientas.
Hay varias formas comunes de líneas de comando para vacío. Pero la primera ejecución de
vacío suele ser un comienzo en el modo demonio para tenedor un nuevo comando (proceso) bajo PTY-
sesión. Esto se puede hacer con -f llave. Una interfaz para los datos de entrada y salida.
Los canales del proceso bifurcado se realizan mediante dos archivos quince cuyos nombres se pueden especificar
con -i y -o teclas. Estos archivos se crean / eliminan automáticamente cada vez que inicia / sale
vacío daemon, por lo que no debe crearlos manualmente. Si no especificaste estos quince
archivos en la línea de comando, vacío los nombra por sí mismos basándose en su PID y PID de bifurcación
Proceso PTY.
En este punto, cualquier aplicación puede comunicarse fácilmente con el proceso bifurcado escribiendo datos
a la entrada Fifo y leer las respuestas de la salida Fifo, ver EJEMPLOS sección para el
detalles. Para simplificar estas operaciones, vacío ofrece una interfaz para solo send cualquier dato (uso
-s clave), o incluso a Observa la salida Fifo para múltiples frases clave y responder a la entrada
Fifo con uno de los respuestas (consulta: -w llave).
Nota Introduzca quince para vacío -f ... suele ser un valor de salida para vacío -w y vacío -s
formas. Y salida quince de vacío -f ... es una entrada Fifo para vacío -w ...
Si algo sale mal, el proceso bifurcado puede ser que han muerto por el comando de matar estándar, o
usando -k clave de vacío. See -p opción para guardar el PID del proceso demonio vacío.
Las siguientes opciones están disponibles:
-f bifurcar, generar, iniciar o ejecutar un nuevo proceso especificado por el comando
argumentos. Si omite quince archivos, vacío con su algoritmo de control de trabajos
créalos bajo / Tmp directorio usando estas plantillas: empty.PPID.PID.in y
empty.PPID.PID.out, aquí PPID suele ser el ID y PID del proceso del sistema de shell
es el ID de proceso del sistema del demonio vacío.
-s envían datos (solicitud) al proceso bifurcado. Si el archivo Fifo no se especificó con
-o llave, vacío intentará encontrar un archivo FIFo creado automáticamente en / Tmp
directorio. En lugar de la línea de comando, puede enviar su solicita o datos directamente
a la entrada estándar (stdin) de vacío
-w Observa para uno o más frases clave y si se especifica enviar el apropiado
respuesta a la entrada Fifo. Si respuesta no está configurado, vacío espera el
próximo Frase clave luego sale. Con -w clave vacío devuelve el número de coincidencias
par de frase clave-respuesta, o 255 si no encuentra esta coincidencia (consulte la tecla -t para
detalles de la posible salida en el tiempo de espera).
-r lee de la salida FIFO una línea (predeterminado) o un bloque de datos (si -b tamaño iba
especificado). Si -t n se colocó la tecla, salir en el tiempo de espera.
-l lista los trabajos creados automáticamente por su shell. NB! Tus trabajos personalizados, que
Fifo archivos que especificó con -i y -o teclas, no se muestran. Así que si lo hicieras
no especifique archivos de Fifo con -i y -o claves todas las operaciones se realizan bajo la
trabajo marcado corriente
-k enviar señal al proceso con pido. Si no especificó pid, vacío intentos
para encontrarlo en la lista de trabajos creados automáticamente. Si señal se omite
se utiliza el SIGTERM predeterminado.
-h imprime un breve mensaje de ayuda y sale
-i FIFO1 un archivo Fifo, que se utiliza como entrada para un proceso bifurcado.
-o FIFO2 un archivo Fifo, que se utiliza como salida para un proceso bifurcado.
-L file.log Esta opción permite registrar todo vacío sesión a un archivo. Marcas >>> y <<
mostrar las direcciones del flujo de datos.
--logfile-mode = modo
Esta opción permite elegir el modo del archivo de registro creado con la -L
opción. El modo predeterminado es 0600.
-p file.pid Guarda el PID del proceso demonio vacío en un archivo
-tn Si la entrada FIFO está vacía, espere n segundos (el valor predeterminado es 10) para recibir el
Frase clave luego salga en el tiempo de espera con el código 255.
-c fuerza vacío para usar stdin para datos o solicitudes.
-S Quita el último carácter de la entrada. Funciona con las teclas -s y -w
-v kvazi modo detallado. Muestra todo el contenido del búfer recibido.
EJEMPLOS
Inicie una nueva sesión PTY con telnet a localhost:
vacío -f -i in.fifo -o out.fifo -p vacío.pid -L vacío.log telnet localhost
Interactuar con telnet:
vacío -w -i out.fifo -o in.fifo ogin 'my_user \ n'
vacío -w -i out.fifo -o in.fifo assword 'my_password \ n'
Envíe comandos a telnet con vacío:
vacío -s -o in.fifo quién
vacío -s -o in.fifo "ls -la / \ n"
Lo mismo usando STDIN:
echo quien | vacío -s -o pulg.fifo
echo "ls -la /" | vacío -s -o pulg.fifo
Solo salida de gato de telnet:
gato out.fifo
Lea una línea de out.fifo:
vacío -r -i out.fifo
Envíe comandos a telnet con eco ordinario:
echo "quién soy yo"> in.fifo
echo "uname -a"> in.fifo
Mata un proceso con PID 1234:
vacío -k 1234
or
matar a 1234
Sesión Telnet con trabajos creados automáticamente:
vacío -f telnet localhost
Interactuar con telnet mediante el control de trabajos:
vacío -w ogin 'my_user \ n'
vacío -w contraseña 'my_password \ n'
Lista de trabajos creados automáticamente:
vacío -l
PPID TIPO DE PID NOMBRE DE ARCHIVO
479 en /tmp/empty.706.in
479 fuera /tmp/empty.706.out
479 en /tmp/empty.711.in
479 fuera /tmp/empty.711.out
479 711 actual
SEGURIDAD
Se considera inseguro enviar una contraseña en la línea de comando como esta:
vacío -w contraseña 'my_password \ n'
o así:
vacío -s 'my_password \ n'
La razón es que los argumentos de la línea de comando son visibles para el sistema mientras vacío is
corriendo. Cualquier usuario local puede verlos con ps(1), a veces son visibles incluso de forma remota
con dedo(1). Además, su servidor puede tener algunas herramientas de monitoreo que pueden almacenar el
salida de ps(1) en sus registros. También hay otras formas más complicadas de comprometerse
esta informacion. Generalmente, debe tomar los argumentos de la línea de comando como (posiblemente) visibles
a todos a menos que realmente sepa lo que está haciendo.
vacío con la bandera '-s' se ejecuta rápidamente en la mayoría de los casos, pero aún puede colgarse durante varios
razones (como sobrecarga de quince), e incluso si se ejecuta rápido, aún no puede estar seguro de que
nadie verá sus argumentos en la línea de comandos, incluso en este corto período de tiempo. vacío con la bandera '-w'
es incluso peor porque debe esperar la frase clave.
Una mejor manera de enviar la contraseña al programa supervisado es leerla desde el archivo:
vacío -s [opciones comunes] <./ archivo-contraseña
o de una pipa:
obtener-contraseña-de-usuario "$ usuario" | vacío -s [opciones comunes]
Aún debe asegurarse de no enviar ninguna contraseña a través de la línea de comando mientras
creando este archivo, y ciertamente debe establecer algunos permisos seguros para este archivo Y
su directorio (con los directorios principales) antes de leer la contraseña del archivo O
escribiéndole la contraseña.
Otra forma posible es utilizar la función incorporada de su shell (pero consulte a continuación):
echo "$ contraseña" | vacío -s [opciones comunes]
Muchas conchas como golpear(1) csh(1) y FreeBSD's sh(1) no llame al externo echo(1) comando
pero use su propio comando de eco incorporado. Dado que no se inicia ningún comando externo (el shell
ella misma hace todo eso echo(1) debe hacer), no se muestra nada en la lista de procesos. Esta mas alla
esta página de manual para discutir la forma de asegurarse de que su shell use el comando incorporado.
DEVOLUCION VALORES
Si ocurre algún error vacío normalmente sale con el código 255. De lo contrario, cero o algún positivo
valor (ver -w clave) se devuelve.
Usar vacío en línea usando los servicios de onworks.net
