Solía exec 3<>/dev/tcp/192.168.0.101/6435establecer una conexión TCP con 192.168.0.101:6435. Y he recibido y enviado algunos mensajes con el pipecomando.
Ahora, quiero terminar la conexión TCP. Pero, ss -anpetpuedo 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)?
bashsin 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
pipecomando que está utilizando y que no puedo encontrar en mi sistema? ¿De qué paquete pipeviene? ¿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 pipey este tipo de archivos. Se dice que se usa /dev/tcp/ip/portpara conexiones tcp y /dev/udp/ip/portpara 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
pipecomando que mencionas. La miré https://github.com/clsr/sedbot/blob/master/sedbot.bash. No hay pipecomando allí. Define dos funciones: readmsgy sendmsgleer / escribir desde / hacia la conexión respectivamente. readmsgusa IFS= read -r -u 3 -t "$READ_TIMEOUT" linepara leer desde el descriptor de archivo 3 en la variable line, y sendmsgusa echo "$(date +%s.%N) >>> $line" >&4para escribir en el descriptor de archivo 4. De todos modos, esto aclara el método completo. La pipemención de " comando" sigue siendo un misterio para los lectores.
bashcon ese caparazón?