linux的at命令广播没有出来
-
在Linux系统中,at命令是用于在指定时间执行一次性任务的命令。它通过将任务添加到系统的调度表中,在指定的时间自动执行任务。然而,at命令不会向用户发送广播通知。
如果您希望在执行任务后向用户发送广播通知,您可以在at命令后面添加一条命令来实现。以下是一种可能的解决方案:
1. 创建一个shell脚本,包含您要执行的任务以及发送广播通知的命令。例如,您可以使用notify-send命令在任务完成后发送一个桌面通知。
“`shell
#!/bin/bash
# 执行您的任务
echo “执行任务中…”
# 发送桌面通知
notify-send “任务已完成” “您的任务已经执行完毕!”
“`请确保此脚本具有可执行权限(通过`chmod +x script.sh`命令添加)。
2. 使用at命令来调度此脚本。
“`shell
# 将任务添加到系统调度表,指定执行时间和您的脚本路径
at 09:00 tomorrow -f /path/to/your/script.sh
“`在此示例中,任务将在明天的09:00执行。您可以根据需要调整时间和日期。
通过这种方式,您可以在任务执行后向所有用户发送广播通知。请注意,发送广播通知可能需要一些额外的配置,具体取决于您的操作系统和桌面环境。如果您使用的是其他桌面环境或操作系统,请参考相关文档以获取详细的配置说明。
2年前 -
1. 检查AT命令是否正确配置:首先要确保已正确使用AT命令进行配置。在Linux中,AT命令用于在指定的时间执行命令或脚本。确保已正确指定要执行的命令,以及要执行的时间和日期。
2. 检查AT守护进程是否正在运行:AT命令需要AT守护进程(atd)来执行它们。确保AT守护进程正在运行。可以通过运行命令`service atd status`或`systemctl status atd`来检查AT守护进程的状态。如果守护进程未运行,可以尝试启动它,命令为`service atd start`或`systemctl start atd`。
3. 检查AT队列:在AT命令执行之前,它们会进入AT队列中等待执行。检查AT队列以查看命令是否在等待执行。可以使用`atq`命令列出AT队列中的任务。如果没有任何任务显示出来,则表示AT命令可能没有正确添加到队列中。
4. 检查AT队列中的任务状态:使用`at -c [任务编号]`命令可以查看特定任务的详细信息,包括状态。确保任务的状态没有错误或异常。常见的状态包括”queued”(已列入队列),”running”(正在运行)和”finished”(已完成)。
5. 检查AT命令的日志:AT命令通常会生成日志文件以记录其执行过程和结果。默认情况下,这些日志文件通常存储在/var/log/at.log或/var/spool/at/目录下。检查这些日志文件以查找任何与AT命令执行有关的错误或异常信息。
注意:如果在以上步骤中仍然无法解决问题,可以尝试重新配置和重启AT守护进程,或者考虑使用其他的任务调度工具来替代AT命令。
2年前 -
问题描述:
用户在Linux系统中使用at命令进行广播操作,但广播没有成功。
解决方法:
1. 检查atd服务是否正在运行
使用以下命令检查atd服务是否已经启动:
“`
$ service atd status
“`
如果atd服务没有运行,可以使用以下命令启动服务:
“`
$ service atd start
“`2. 确认广播命令正确
请检查广播命令是否正确,是否包含正确的时间和要执行的命令。广播的时间格式应为HH:MM(小时:分钟),例如:
“`
$ echo “echo hello” | at 10:30
“`
广播的命令应正确输入,例如:
“`
$ echo “echo hello” | at now + 1 minute
“`
注意:广播命令可能需要使用sudo或root权限才能执行。3. 检查用户是否具有使用at命令的权限
确保当前用户具有使用at命令的权限。可以使用以下命令查看当前用户所属的组:
“`
$ groups
“`
确认是否包含at或a指令组,例如:
“`
$ groups username
“`
如果没有包含at或a指令组,您可能需要使用以下命令将当前用户加入at或a指令组:
“`
$ sudo usermod -aG at username
“`
重新登录后,您应该可以使用at命令了。4. 检查是否安装了at命令
确认是否已经安装了at命令。可以使用以下命令来检查:
“`
$ which at
“`
如果没有找到at命令,请使用以下命令安装at命令:
“`
$ sudo apt-get install at
“`5. 检查/etc/at.allow和/etc/at.deny文件
检查/etc/at.allow和/etc/at.deny文件以查看是否对at命令进行了访问控制。如果这两个文件都存在,那么只有被列在/etc/at.allow文件中的用户才可以使用at命令。如果这两个文件都不存在,则默认允许所有用户使用at命令。如果您仍然无法使用at命令进行广播,请尝试在其他终端或用户登录后再次尝试。如果问题仍然存在,可以考虑重新安装atd服务或操作系统。
2年前