Um einen Befehl alle x Sekunden Sie eine Endlos-Schleife verwenden können und time
import os
import signal
import subprocess
import time
cmd = "python -m SimpleHTTPServer"
while True:
server = subprocess.Popen(cmd , stdout=subprocess.PIPE, shell=True,
preexec_fn=os.setsid)
time.sleep(10)
os.killpg(os.getpgid(server.pid), signal.SIGTERM)
time.sleep(5)
Wenn Sie nicht wissen, laufen, wie der Prozess zu stoppen, empfehle ich Ihnen https://stackoverflow.com/a/4791612/2588566
Wenn Sie nur zu prüfen, Möchten Sie, dass der Prozess x Zeit zum Schlafen ausgeführt wird, verwenden Sie stattdessen eine for
Schleife.
Ich weiß nicht, welchen Befehl Sie ausführen möchten. In diesem Beispiel führen Sie einen Python-Server aus, der Dateien im aktuellen Verzeichnis bereitstellt. Es startet den Prozess, hält es für 10 Sekunden, dann den Prozess zu beenden und wartet 5 Sekunden (So können Sie überprüfen, dass es gestoppt wurde). Sie haben also einen Server mit 10 Sekunden und einer Lücke von 5 Sekunden zwischen jeder Ausführung.
Sie eine unendliche am Ende es while-Schleife und Schlaf tun können – Jalo
Nicht eine Antwort in Python, aber Sie könnten 'bash's' timeout' verwenden –
'dann den Prozess beenden' Wann möchten Sie den Prozess beenden? Wie lange soll es laufen? –