我想每 50 分钟运行一个命令,并在命令执行 2 分钟后终止循环输出 PID。
这可能吗?任何帮助都很好。
答案1
使用“timeout”(man timeout 了解详情)。设置一个 crontab 来运行你的命令,但使用/usr/bin/timeout 120s your_command
每次 crontab 调用时,这将运行您的命令 120 秒。
答案2
我没有使用 cron 的经验,但您也可以编写一个在后台无限运行的小型 Bash 脚本,如下所示:
#!/bin/bash
while true ; do # starts an infinite loop
YOUR_COMMAND & # runs YOUR_COMMAND in background
your_pid=$! # remembers the PID of YOUR_COMMAND
sleep 2m # pauses the script for 2 minutes
kill $your_pid # kills YOUR_COMMAND by its previously remembered PID
sleep 48m # pauses the script for the remaining 48 minutes
done # defines the end of the loop