[Python でよく使われるスクリプトとコマンド シリーズ 3.1 -- Python は定期的にシェル コマンドを実行します]

Python は定期的にシェルコマンドを実行します

Python でシェル コマンドを実行するようにスケジュールされたタスクを設定するには、subprocess モジュールを使用してコマンドを実行し、time モジュールを使用します。タイミングを処理するため。以下は、シェル コマンドをさまざまな間隔で定期的に実行する方法を示す簡単な例です。

import subprocess 
import time 

def run_shell_command(command): 
	try: 
		# 执行shell命令 
		subprocess.run(command, shell=True, check=True) 
	except subprocess.CalledProcessError as e: 
		print(f"An error occurred: {
      
      e}") 

# 每隔一定时间执行命令的函数 
def schedule_command(command, interval): 
	while True: 
		run_shell_command(command) 
		time.sleep(interval) 

# 每过20小时执行一次的命令 
def every_20_hours_command(command): 
	schedule_command(command, 20 * 3600) 

# 每过一分钟执行一次的命令 
def every_minute_command(command): 
	schedule_command(command, 60) 

# 每过一秒钟执行一次的命令 
def every_second_command(command): 
	schedule_command(command, 1) 

# 示例命令 
shell_command = "echo 'Hello, World!'" 

# 根据需要选择函数并取消注释 
# every_20_hours_command(shell_command) 
# every_minute_command(shell_command) 
# every_second_command(shell_command) 

上記のコードでは次のようになります。

  • run_shell_command 関数は、subprocess.run を使用して、指定されたシェル コマンドを実行します。実行中にエラーが発生した場合、例外が捕捉されて出力されます。
  • schedule_commandこの関数は、指定されたシェル コマンドを実行し、実行後に指定された間隔 (秒単位) だけ一時停止する無限ループです。
  • every_20_hours_commandevery_minute_commandevery_second_command 関数はそれぞれ異なる時間間隔を設定し、schedule_command 関数を呼び出します。

このスクリプトでは、shell_command は定期的に実行するシェル コマンドです。これを任意の有効なシェル コマンドに置き換えることができます。

おすすめ

転載: blog.csdn.net/sinat_32960911/article/details/134855681