다음과 같은 간단한 스크립트가 있다고 가정합니다 action.sh
.
#!/bin/bash
echo -n 'a' | nc a.b.c.d p
action.sha
여기에 주소를 지정할 캐릭터 를 배치하세요 a.b.c.d
.
그러나 nc
때로는 중단되어 종료하고 싶을 때도 있습니다.
$ ./action.sh
^C
이것은 잘 작동하며 좀비가 남지 않습니다.
백그라운드에 두고 종료하려고 하면 nc
활성 상태로 유지되므로 수동으로 정리해야 합니다.
& ./action.sh &
[1] 28747
& kill -15 28747 //here nc is still running! I have to find its PID and terminate it
종료 신호를 받았을 때 종료를 요청하는 방법도 있나요 action.sh
?nc
답변1
#!/bin/bash
trap ctrl_c INT
function ctrl_c() {
# redirect to stderr to avoid showing errors in case nc isn't found
kill -9 $(pgrep nc) > /dev/null 2>&1
}
echo -n 'a' | nc a.b.c.d p
답변2
kill
이는 다음을 호출하여 달성 할 수도 있습니다 .
kill 15 -28747
15종료 신호입니다(종료를 나타내려면 9를 사용하세요).28747내 질문에 있는 상위 프로세스의 PID입니다.