每 m 分钟以 sudo 身份运行和停止监控命令 s 秒

每 m 分钟以 sudo 身份运行和停止监控命令 s 秒

我想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.相反,请在timeoutcoreutils 包的命令下运行您的应用程序:

*/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

来源: https://stackoverflow.com/a/12321815/3648121

相关内容