2014-02-07 60 views
1

我有一個最小的腳本,只是監聽一個套接字並打印任何顯示在端口基本上,當然,這工作正常。然而我',無法清理之後I^z在永恆的bash循環中調用nc後清理

  • 也許sigtstp不是正確的方法來做到這一點?
  • 我可以讓Bash監聽並退出ctrl + c嗎?
  • 我可以清理NC進程嗎?它保持occypying的端口和力量(以及...)殺死-9?

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

回答

0

我不知道你的意思,但試試這個腳本(未經測試,我沒有安裝NC) 「我可以做的bash聽^ C?」:

#!/bin/bash 
pid=0 

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

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

Naa,對不起,這不會改變行爲。我的意思是在CTRL + C上,我希望腳本退出。 – nic

+0

你是說你不能用Ctrl + C放棄「雖然真的;做睡1s;完成」? – bos