(注:atd服务centos7中minimal版是没有自带的,需要yum进行安装,安装完毕可以执行at命令进行任务下发,两种方式:1、echo "command" | at now + 时间间隔的形式;2、at命令交互shell的方式)
出现问题的时候查看/var/log/messages等系统日志并没看出什么有效信息,网络上也几乎没找到相关的信息。最终,在尝试复现时,发现了问题所在,linux系统提示“You have mail in /var/spool/mail/root”,tail -f一查看就基本明确了,下面是通过在/root/attest目录下创建echo "echo 10 >/root/task.txt | at now + 2 minute"任务后,删除attest目录后复现出的现象,日志中提示如下:
邮件提示是运行时的路径找不到了,原来是通过at下发的任务在运行时还依赖执行下发动作时的工作目录,如果你在下发完任务后,把当时的路径给删掉了,那这个任务就GG了。其实可以在下发完任务后通过atq获取到任务编号,并通过at -c 加任务编号查看任务信息,任务信息中有记录运行任务所需的工作路径。
请忽略上图中任务id不一致的情况,上图仅仅是为了说明问题。
1. 查看Linux启动的服务
chkconfig --list 查询出所有当前运行的服务
chkconfig --list atd 查询atd服务的当前状态
2.停止所有服务并且在下次系统启动时不再启动,如下所示:
chkconfig --levels 12345 NetworkManager off
如果想查看当前处于运行状态的服务,用如下语句过滤即可
chkconfig --list |grep on
3.如果只是想当前的设置状态有效,在系统重启动后即不生效的话,可以用如下命令停止服务
service sshd stop
扩展资料:
Linux是一套免费使用和自由传播的类Unix *** 作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的 *** 作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络 *** 作系统。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)