我正在尝试运行一个每 10 分钟运行一次的 cron 作业来终止进程 sshd。
所以我以 root 身份打开 /etc/crontab 并插入以下行。
*/1 * * * * pkill sshd
systemctl status sshd
1、2、3分钟后我检查了。我看到 sshd 仍在运行。
我用的是centos7。
答案1
您必须编辑该文件sshd.service
并更改以下行:
Restart=on-failure
到
Restart=no
当您终止该进程时,它不会重新启动。
答案2
你为什么不一起停止这个过程呢?etc/init.d/sshd stop
如果您担心它会在下次重新启动时启动,您可以通过crontab -e
add将此命令添加到 crontab 中*/1 * * * * etc/init.d/sshd stop
。目前尚未测试。
https://www.centos.org/docs/5/html/Deployment_Guide-en-US/ch-autotasks.html
答案3
这里有几个问题(您确定使用自动注销不会更好吗?):
*/1 * * * * pkill sshd
这 ”/1" 应该是 "/10" 每十分钟运行一次。
没有用户规范:我怀疑您会在系统日志中找到一些类似于“未知用户 pkill”的消息。
pkill
运行时查看是否在 cron 的 PATH 中。
总而言之,我会尝试:
*/10 * * * * root /path/to/pkill sshd
那么你就遇到了sshd的问题重新启动被杀后,正如 D'Arcy Nader 在他的回答中指出的那样(但这可能没问题,否则你不会想通过 cron 进行连环杀戮)。