Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个带有以下代码的shell脚本;
#!/bin/bash nfcapd -z -w -t30 -p 2055 -l /home/shane/Documents/nfdump
我的问题是,当我执行 shell 脚本时,上面的命令一遍又一遍地执行(它从路由器捕获网络流量),但我希望它在 30 秒后停止。在终端中我只需按Ctrl+ ,有没有办法在特定时间 t 后c执行此命令(Ctrl+ )?c
采用timeout
timeout
timeout 30 nfcapd -z -w -t30 -p 2055 -l /home/shane/Documents/nfdump
更多信息在这里
把这句话放在后面#!/bin/bash
#!/bin/bash
(睡 30 ;杀死 -9 $$)&
看看它是否适用于你的情况。
你也可以杀死最后一个工作:
#! /bin/bash nfcapd -z -w -t30 -p 2055 -l /home/shane/Documents/nfdump & sleep 30 ; kill %% echo "nfcapd terminated" exit 0