在shell脚本中按Ctrl键

时间:2013-03-01 11:19:04

标签: bash shell

我有一个包含以下代码的shell脚本;

#!/bin/bash
nfcapd -z -w -t30 -p 2055 -l /home/shane/Documents/nfdump

我的问题是,当我执行shell脚本时,上面的命令反复执行(它捕获来自路由器的网络流量),但我希望它在30秒后停止。在终端我只需按 Ctrl + c ,有没有办法执行此命令( Ctrl + c )经过一段时间t?

3 个答案:

答案 0 :(得分:6)

使用timeout

timeout 30 nfcapd -z -w -t30 -p 2055 -l /home/shane/Documents/nfdump

更多信息here

答案 1 :(得分:2)

#!/bin/bash

之后加上此声明
  

(睡30;杀-9 $$)&

看看它是否适用于您的情况。

答案 2 :(得分:1)

你也可以杀掉上一份工作:

#! /bin/bash
nfcapd -z -w -t30 -p 2055 -l /home/shane/Documents/nfdump &
sleep 30 ; kill %%
echo "nfcapd terminated"
exit 0