在永久bash循环中调用nc后清理

时间:2014-02-07 06:49:49

标签: linux bash terminal debian

我有一个最小的脚本,它只是在套接字上监听并打印出基本上显示在端口上的任何东西,当然,这样可以正常工作。但是,我在I ^ z之后无法清理。

  • 或许sigtstp不是正确的方法吗?
  • 我可以让Bash听取并退出ctrl + c吗?
  • 我可以清理nc进程吗?它一直在阻塞端口和力量(好吧......)kill -9?

#!/bin/bash
while :
do
    nc -l -p $1
done

1 个答案:

答案 0 :(得分:0)

我不知道你的意思是什么“我可以让bash听^ C吗?”但是试试这个脚本(未经测试,我没有安装nc):

#!/bin/bash
pid=0

cleanup() { (( $pid != 0 )) && kill -9 $pid; }
trap "cleanup" EXIT

while :
do
   nc -l -p $1
   pid=$!
done