Ich habe verwendet exec 3<>/dev/tcp/192.168.0.101/6435
, um eine TCP-Verbindung mit 192.168.0.101:6435 herzustellen. Und ich habe mit dem pipe
Befehl ein paar Nachrichten erhalten und auch gesendet .
Jetzt möchte ich die TCP-Verbindung beenden. Aber mit ss -anpet
kann ich sehen, dass Bash selbst diese Verbindung hält, ohne einen Kindprozess zu forken.
Ich habe versucht, die Signale 9 und 15 an den Bash-Prozess zu senden, aber wie Sie wissen, kann sich Bash nicht selbst töten.
Kann ich die TCP-Verbindung, die ich hergestellt habe, beenden, ohne die von mir verwendeten Punkte zu beenden (weder durch root beenden noch Strg + D senden)?
bash
kann sich bestimmt selbst töten - obwohl das eigentlich nicht das ist, was du hier machen willst!
pipe
Befehl eingehen, den Sie verwenden und den ich auf meinem System nicht finden kann? Von welchem Paket pipe
kommt das? Welche (Beispiel-) Parameter können Sie übergeben, um Daten über die /dev/tcp/...
Verbindung zu senden / empfangen ? Vielen Dank.
/dev/tcp
, auch nicht sich /dev/tcp
selbst finden . Es scheint jedoch eine spezielle Verwendung zu sein, mit der Sie Daten pipe
und diese Art von Dateien senden / empfangen können. Es wird gesagt, dass /dev/tcp/ip/port
für TCP-Verbindungen und /dev/udp/ip/port
für UDP-Pakete verwenden. Da mein Englisch nicht sehr gut ist, weiß ich nicht, wie ich es richtig erklären soll. Bitte zögern Sie nicht, die Frage zu bearbeiten und eine Antwort zu schreiben.
pipe
Befehl, den Sie erwähnen. Ich sah mich um https://github.com/clsr/sedbot/blob/master/sedbot.bash
. Es gibt dort keinen pipe
Befehl. Es definiert zwei Funktionen: readmsg
und sendmsg
zum Lesen / Schreiben von / zur Verbindung. readmsg
wird verwendet IFS= read -r -u 3 -t "$READ_TIMEOUT" line
, um aus dem Dateideskriptor 3 in die Variable zu lesen line
, und wird sendmsg
verwendet echo "$(date +%s.%N) >>> $line" >&4
, um in den Dateideskriptor 4 zu schreiben. Auf jeden Fall wird hierdurch die vollständige Methode verdeutlicht. Die " pipe
Befehls" -Erwähnung bleibt den Lesern immer noch ein Rätsel.
bash
mit dieser Shell töten ?