我正在使用命令调度 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 访问权限,则可以通过实验进行尝试 - 找到包含命令的文件并注释掉您不想执行的命令。)