停止除其他命令外由 at 命令调度的一个特定命令

停止除其他命令外由 at 命令调度的一个特定命令

我正在使用命令调度 3 个命令at

$ at teatime
 command1
 command2
 command3
 <Ctrl + D>

一段时间后,我意识到运行command3并不是我真正想要的,但同时我不希望剩余的命令停止执行。

我尝试在系统监视器中寻找at命令或类似的东西,以便我可以杀死负责运行的进程command3,但找不到(也许我错了)。我还可以停止运行这些命令的 ATD 守护进程,但这会停止所有命令的执行,这不是我想要的。
有没有其他办法可以停下来呢command3

答案1

最简单的解决方案是取消所有三个并重新安排您想要执行的那些。atq将向您显示排队任务的列表,at -c将按编号显示一项排队任务,并将atrm按编号删除一项任务。

您的根本问题是,从调用at到 ctrl-d 的所有内容本质上都放入单个 shell 脚本中,该脚本通常位于 下的某个位置/var/spool,并且我认为这at对这些文件在提交后被修改有一定的保护,尽管我不记得细节了。 (我想如果您在计算机上具有 root 访问权限,则可以通过实验进行尝试 - 找到包含命令的文件并注释掉您不想执行的命令。)

相关内容