在Python中,你可以使用subprocess
模块来执行系统命令,包括at
指令
import subprocess import time def schedule_at_command(command, delay): # 将命令和延迟时间(以秒为单位)格式化为字符串 at_command = f'echo "{command}" | at now + {delay} seconds' # 使用subprocess模块执行at命令 try: subprocess.run(at_command, shell=True, check=True) print(f"Command '{command}' scheduled to run after {delay} seconds.") except subprocess.CalledProcessError as e: print(f"Error scheduling command '{command}': {e}") # 示例用法 command = "echo 'Hello, World!'" delay = 10 schedule_at_command(command, delay) # 让主线程等待一段时间,以便观察调度功能是否正常工作 time.sleep(delay + 2)
在这个示例中,我们定义了一个名为schedule_at_command
的函数,它接受一个命令和一个延迟时间(以秒为单位)。然后,我们使用echo
命令将实际要执行的命令传递给at
,并设置执行时间。最后,我们使用subprocess.run()
执行生成的at
命令。
请注意,这个示例仅适用于支持at
指令的系统,例如Linux或macOS。在Windows上,你需要安装at
命令行实用程序(可以通过schtasks
命令安装)才能使用此功能。