exec 3<>/dev/tcp/192.168.0.101/6435
192.168.0.101:6435와의 TCP 연결을 설정하는 데 사용 했습니다. 그리고 나는 pipe
명령 과 함께 몇 가지 메시지를 받았을뿐 아니라 받았습니다 .
이제 TCP 연결을 종료하고 싶습니다. 그러나 ss -anpet
bash 자체는 자식 프로세스를 방해하지 않고이 연결을 유지한다는 것을 알 수 있습니다.
신호 9와 15를 bash 프로세스로 보내려고했지만 bash는 스스로를 죽일 수 없습니다.
따라서 사용중인 pt를 종료하지 않고 (루트로 죽이거나 Ctrl + D를 보내지 않고) TCP 연결을 종료 할 수 있습니까?
bash
확실히 스스로 죽일 수 는 있지만 실제로는 당신이하고 싶은 것이 아닙니다!
@TJM은이 매혹적인 질문을 다른 사람들에게 더 유용하게 만들기 위해
—
arielf 2016 년
pipe
사용중인 명령과 시스템에서 찾을 수없는 명령 에 대해 자세히 설명해 주 시겠습니까? 어떤 패키지가 pipe
제공됩니까? /dev/tcp/...
연결을 통해 데이터를 보내거나 받기 위해 어떤 (예) 매개 변수를 전달할 수 있습니까? 감사.
@arielf 일반적으로 Computer Science의 초보자이며 sedbot이라는 bash 쉘 스크립트에서 이러한 종류의 사용법을 찾았습니다. Github에서 찾을 수 있습니다. 예,에서 파일을
—
TJM
/dev/tcp
찾을 수 없으며 찾을 수도 없습니다 /dev/tcp
. 그러나 pipe
이런 종류의 파일과 함께 데이터를주고받을 수있는 특별한 사용법으로 보입니다 . /dev/tcp/ip/port
tcp 연결 및 /dev/udp/ip/port
udp 패키지에 사용한다고 합니다. 영어 실력이 좋지 않기 때문에 제대로 설명하는 방법을 모르겠습니다. 질문을 편집하고 답변을 게시하십시오.
@TJM 감사합니다. 문제는
—
arielf 2016 년
pipe
당신이 언급 한 명령 에 관한 것이 었습니다 . 나는을 보았다 https://github.com/clsr/sedbot/blob/master/sedbot.bash
. 거기에는 pipe
명령이 없습니다 . 연결 readmsg
과 sendmsg
읽기 / 쓰기의 두 가지 기능을 각각 정의합니다. readmsg
사용 IFS= read -r -u 3 -t "$READ_TIMEOUT" line
변수로 파일 기술자 (3)로부터 읽어 line
및sendmsg
사용 echo "$(date +%s.%N) >>> $line" >&4
전체 방법, 어쨌든 파일 기술자 (4)에 쓰기이 관계를 설명합니다. " pipe
명령"언급은 여전히 독자들에게 미스터리로 남아 있습니다.
bash
있습니까?