使用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"
,这样您就知道应该立即终止哪个进程