在Python中,您可以使用subprocess
模块来执行系统命令,包括at
指令
import subprocess
def schedule_at_command(command, time):
# 将时间字符串转换为at命令所需的格式
at_time = time.replace(" ", "T") + "+00:00"
# 使用at命令调度任务
try:
subprocess.run(["at", time, "-s", command], check=True)
print(f"任务已安排在 {time}")
except subprocess.CalledProcessError as e:
print(f"调度任务失败: {e}")
# 示例用法
command = "echo 'Hello, World!'"
time = "2022-10-31 12:34:56"
schedule_at_command(command, time)
在这个示例中,我们定义了一个名为schedule_at_command
的函数,它接受一个命令和一个时间字符串作为参数。我们将时间字符串转换为at
命令所需的格式,然后使用subprocess.run()
执行at
命令。如果任务成功调度,我们将打印一条确认消息;否则,我们将打印一条错误消息。
请注意,这个示例假设您的系统已安装了at
命令。在某些Linux发行版中,您可能需要先安装at
工具包。例如,在Debian和Ubuntu上,您可以使用以下命令安装:
sudo apt-get install at