如何停止当前正在运行的 cron 作业?

67 cron

如何停止当前正在运行的 cron 作业?

Den*_*son 40

您可以像停止任何进程一样执行此操作。

要停止当前正在运行的cron作业,您可以执行以下操作之一:

pkill process-name
Run Code Online (Sandbox Code Playgroud)

或者如果您知道 PID(您可以通过运行来确定它ps):

kill 1234
Run Code Online (Sandbox Code Playgroud)

(代入实际PID)

  • @UWU_SANDUN:你可以使用 `pgrep` 或 `grep` 作为 `ps` 的输出。从 `cron` 运行的进程没有什么特别之处。您只需在进程自己的名称下搜索该进程即可。你也可以做`ps fauxww | grep -A 1 '[C]RON'` 和该行下方的行将显示由 `cron` 运行的作业。您可以将数字 1 调高以查看子流程(如果有)。 (7认同)
  • 如何列出当前正在运行的 cron 作业? (2认同)

小智 23

奇怪,没有人提到这个方法:

$ crontab -e
Run Code Online (Sandbox Code Playgroud)

在打开的编辑器中,删除要停止的任务行或插入#符号,保存退出

例如

* * * * * some_script1
* * * * * some_script2
Run Code Online (Sandbox Code Playgroud)

* * * * * some_script1
#* * * * * some_script2
Run Code Online (Sandbox Code Playgroud)

或者

* * * * * some_script1
Run Code Online (Sandbox Code Playgroud)

进行更改后重新启动服务

sudo service cron reload
Run Code Online (Sandbox Code Playgroud)

  • 这不会停止当前正在运行的 cron 作业,它会停止将由 cron 启动的未来 cron 作业。 (30认同)

小智 19

要停止运行 cron 作业。首先获取您的命令的进程 ID

top -p $(pgrep -d',' your_command)

例如:-

top -p $(pgrep -d',' httpd)

并运行

kill PID替换PID为进程 ID


Sen*_*Sen 13

如果您使用的是 Redhat (RHEL)/Fedora Core/Cent OS Linux,请使用以下命令:

/etc/init.d/crond stop
Run Code Online (Sandbox Code Playgroud)

如果您使用的是 Debian 或 Ubuntu Linux,请执行以下命令:

/etc/init.d/cron stop
Run Code Online (Sandbox Code Playgroud)

PS:你应该是root才能做这些事情

  • 我认为它会停止所有 cron。要停止特定的 cron 我可以知道命令吗 (2认同)
  • 这会停止 `crond` 守护进程,它是否也会停止它产生的任何东西?您通常还希望在典型的 Linux 系统上运行 `crond`;有很多通常取决于它的运行。 (2认同)

小智 7

首先键入ps aux以查看所有进程正在运行的内容。

然后记下PID您要停止的每个进程

然后输入

kill {PID} 对于每个进程。

也看看这些链接(超级用户链接):

验证定时作业已完成

ps-aux-output-含义