温馨提示×

nohup命令python能用于定时任务吗

小樊
85
2024-12-11 11:00:18
栏目: 编程语言

nohup 命令本身不能直接用于定时任务,但它可以与 while 循环和 sleep 命令结合使用来实现定时任务的功能

while true; do
  nohup python your_script.py > /dev/null 2>&1 &
  sleep 60 # 每隔 60 秒执行一次脚本
done

这个脚本会无限循环地执行 your_script.py,并在每次执行后等待 60 秒。nohup 命令确保脚本在后台运行,即使你关闭终端窗口也不会停止执行。

然而,使用这种方法实现定时任务并不是最佳实践。一个更优雅的方法是使用 cron 定时任务。你可以编写一个简单的 shell 脚本,然后使用 crontab 来设置定时任务。例如:

#!/bin/bash
while true; do
  nohup python your_script.py > /dev/null 2>&1 &
  sleep 60
done

将此脚本保存为 run_script.sh,然后通过以下命令使其可执行:

chmod +x run_script.sh

接下来,打开 crontab 编辑器:

crontab -e

在编辑器中添加一行,设置定时任务的时间间隔和脚本路径。例如,要每隔 60 秒执行一次脚本,可以添加以下内容:

*/60 * * * * /path/to/your/run_script.sh

保存并退出编辑器。现在,定时任务已经设置好了。请注意,这种方法仍然使用了 nohup,但它与 cron 结合使用,使得定时任务的设置和管理更加方便。

0