我想sudo airodump-ng -w myfile
每十分钟左右跑一次,持续 m 分钟。运行时间是否变化并不重要(如果每次运行晚 m 分钟)。
请注意,这是一个监控程序,它不会只是输出和退出。我认为这一问题的解决方案对于类似的监控程序也有效。
我正在考虑添加类似的内容:
*/10 * * * * airodump-ng mon0 -w myfile
进入crontab
。无需更改myfile名称,airodump可以正确检查myfile是否存在并创建myfile-02等。
但是,我应该如何在 s 秒后停止它的运行?pkill airodump
这是我唯一能想到的。每小时跑两次、每次 1 分钟是最好的吗?
20,40 * * * * airodump-ng mon0 -w myfile
21,41 * * * * pkill airodump-ng
答案1
不要使用pkill
.相反,请在timeout
coreutils 包的命令下运行您的应用程序:
*/10 * * * * timeout 5m airodump-ng mon0 -w myfile
(这里的5m
意思是运行 5 分钟。)--signal
如果您需要除 之外的其他内容,请使用TERM
.
答案2
NEXT_WAIT_TIME=0
until command || [ $NEXT_WAIT_TIME -eq 4 ]; do
sleep $(( NEXT_WAIT_TIME++ ))
done
或作为一件内衬
NEXT_WAIT_TIME=0; until command || [ $NEXT_WAIT_TIME -q 4 ]; do sleep $(( NEXT_WAIT_TIME++ )); done