我有一个 Debian 盒子,里面有一些使用at. 我知道我可以使用 列出他们的工作时间atq,但是除了偷看之外,还有什么方法可以打印出他们的内容/var/spool/cron/atjobs吗?
我正在运行 CentOS 5.3 并想记录来自“at”守护进程的所有消息。我的 syslog.conf 包含以下条目:
cron.* /var/log/cron
Run Code Online (Sandbox Code Playgroud)
我假设 syslog 中的 cron 行是指“cron、anacron、at 和 batch”的整个系列。然而,虽然 cron 和 anacron 操作似乎被 looged,但“at”操作不会被记录。我如何记录 atd 操作?
感谢您的关注
(已添加)我想添加我的 syslog.conf 的内容,以防出现错误:
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages
# The authpriv file has restricted access.
authpriv.* /var/log/secure
# Log all the mail messages in one place. …Run Code Online (Sandbox Code Playgroud) 有谁知道如何在atd不影响当前运行的 ( batch) 作业的情况下重新启动?
我想我可以将作业移出 spool 目录并等待当前正在运行的作业完成,但我很想知道。
您如何在远程计算机上弹出消息或运行程序,以便当前登录的用户可以看到它。
我们已在 WinXP 上完成此操作,但这些不适用于 Win7。
at.exe \\computername time /interactive message.vbs
Run Code Online (Sandbox Code Playgroud)
(时间是 hh:mm 未来至少一分钟)
psexec.exe \\computername -I message.vbs
Run Code Online (Sandbox Code Playgroud)
要测试它,您可以用 Notepad.exe 替换 message.vbs
我使用 at 命令每隔一分钟运行一次任务(测试脚本)
at -f /tmp/test now +1 minute
commands will be executed using /bin/tcsh
job 1438153690.a at Wed Jul 29 10:08:10 2015
Run Code Online (Sandbox Code Playgroud)
但如何杀死这个工作?(1438153690.a) 如果需要?
我安排了一个测试at工作并使用 对其进行了审查atq,但我没有看到atd可以执行它们的守护程序。
这是在 Solaris / Illumos 内核中管理的吗?如果没有,哪个守护进程管理at作业?
我实际上很惊讶没有找到atd,因为cron已经有一个守护进程。
在这个关于 SO 的答案中,我举了一个例子,它应该在提交给at的作业中使用 -SIGCONT 信号。但是,我发现我用 -SIGSTOP 停止的进程并没有继续。当我将信号更改为数值时,它起作用了。
echo "kill -18 $rspid"|at now + 2 minutes
Run Code Online (Sandbox Code Playgroud)
使用数值是一个坏主意,因为它在不同的系统上可能不同。
如何使用符号信号 (-SIGCONT) 而不是数字信号 (-18) 提交此作业?