使用at
,我正在尝试设置一个命令,在特定时间向我发送提醒,并不断提醒我。at
但是一旦我提醒自己,我希望能够杀死命令。但是,我找不到用于at
终止提醒所需的命令的 PID。我正在运行的脚本是
在 $thisTime -f $thisFile
$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
消息,直到我注销。
有人可以告诉我如何找到at
命令的pid吗?非常感谢!
at 命令将在您创建“at”作业后立即终止。该作业由 at 守护程序 (atd) 启动,您不想杀死它,否则它不会产生其他任何东西。
您实际上想杀死运行 $thisFile 的 bash 进程(在 ps 输出中搜索 bash $thisFile)
您还可以修改脚本以将其 PID 包含在它发送的消息中:
notify-send "$$: word"
,这样您就知道要立即杀死哪个进程