Solía exec 3<>/dev/tcp/192.168.0.101/6435
establecer una conexión TCP con 192.168.0.101:6435. Y he recibido y enviado algunos mensajes con el pipe
comando.
Ahora, quiero terminar la conexión TCP. Pero, ss -anpet
puedo ver que bash mismo mantiene esta conexión, sin bifurcar un proceso hijo.
Intenté enviar las señales 9 y 15 al proceso bash, pero como saben, bash no puede suicidarse.
Entonces, ¿puedo terminar la conexión TCP que he establecido sin terminar los pts que estoy usando (ni matarla por root ni enviar Ctrl + D)?
bash
sin duda puede suicidarse, ¡aunque eso no es realmente lo que quieres hacer aquí!
@TJM para que esta fascinante pregunta sea más útil para otros, ¿podría explicar el
—
arielf
pipe
comando que está utilizando y que no puedo encontrar en mi sistema? ¿De qué paquete pipe
viene? ¿Qué parámetros (de ejemplo) puede pasarle para enviar / recibir datos a través de la /dev/tcp/...
conexión? Gracias.
@arielf Por lo general, soy un principiante en Ciencias de la Computación, y encontré este tipo de uso de un script de shell bash llamado sedbot, puedes encontrarlo en Github. Sí, no puedo encontrar ningún archivo
—
TJM
/dev/tcp
, ni siquiera puedo encontrarlo /dev/tcp
. Pero, parece un uso especial con el que puede enviar / recibir datos pipe
y este tipo de archivos. Se dice que se usa /dev/tcp/ip/port
para conexiones tcp y /dev/udp/ip/port
para paquetes udp. Para mi inglés no es muy bueno, no sé cómo explicarlo correctamente. Por favor, siéntase libre de editar la pregunta y publicar una respuesta.
@TJM gracias. La pregunta era sobre el
—
arielf
pipe
comando que mencionas. La miré https://github.com/clsr/sedbot/blob/master/sedbot.bash
. No hay pipe
comando allí. Define dos funciones: readmsg
y sendmsg
leer / escribir desde / hacia la conexión respectivamente. readmsg
usa IFS= read -r -u 3 -t "$READ_TIMEOUT" line
para leer desde el descriptor de archivo 3 en la variable line
, y sendmsg
usa echo "$(date +%s.%N) >>> $line" >&4
para escribir en el descriptor de archivo 4. De todos modos, esto aclara el método completo. La pipe
mención de " comando" sigue siendo un misterio para los lectores.
bash
con ese caparazón?