终止由 at 命令生成的主进程

终止由 at 命令生成的主进程

使用at,我试图设置一个命令,在特定时间向我发送提醒,并不断提醒我。但我希望能够at在提醒自己后终止该命令。但是我找不到at终止提醒所需的命令的 PID。我正在运行的脚本是

在$此时间-f $此文件

其中 $thisFile 看起来像这样

#!/bin/bash
sleepTime=20
while [ 1 > 0 ];
    do
        notify-send "word"
        sleep $sleepTime
    done

notify-osd该命令运行良好,但它会按照指定的间隔 一直运行该命令。

当我运行时,ps auxw我希望找到一行标识at我运行的用于生成此提醒的命令,但什么也没有出现。

我也尝试过运行atq 它们并atrm删除返回的数字atq,但我仍然无法终止主命令,并且继续收到notify-send消息直到我注销。

有人能告诉我如何找到该命令的 pid 吗at?非常感谢!

答案1

一旦创建了“at”作业,at 命令就会终止。该作业由 at 守护进程 (atd) 启动,您不想终止它,否则它不会生成任何其他东西。

您实际上想要终止运行 $thisFile 的 bash 进程(在 ps 输出中搜索 bash $thisFile)

您还可以修改脚本,将其 PID 包含在其发送的消息中:notify-send "$$: word",这样您就知道应该立即终止哪个进程

相关内容