Sådan Gentager Du En Kommando Kontinuerligt: Guide til Bash, Python, PowerShell og Mere

Hvad er den bedste måde at gentage en kommando, så snart den afsluttes, uanset årsagen, og sikre at næste udførelse venter på, at den forrige er færdig?

Den bedste måde at gentage en kommando, så snart den afsluttes, og sikre at næste udførelse venter på, at den forrige er færdig, er ved at bruge en while-løkke i et script, som f.eks. Bash, Python eller PowerShell.

Den bedste måde at gentage en kommando, så snart den afsluttes, uanset årsagen, og sikre at næste udførelse venter på, at den forrige er færdig

For at gentage en kommando kontinuerligt og sikre, at hver udførelse venter på, at den forrige er færdig, kan du bruge en løkke i et script. Her er nogle metoder til at opnå dette:

1. Brug af en While-løkke i Bash

En simpel måde at gentage en kommando i et Bash-script er ved at bruge en while-løkke. Dette sikrer, at kommandoen køres igen, så snart den afsluttes.

#!/bin/bash
while true; do
  # Din kommando her
  ./din_kommando
done

2. Brug af en While-løkke i Python

Hvis du foretrækker at bruge Python, kan du opnå det samme med en while-løkke i et Python-script.

import subprocess

while True:
    # Din kommando her
    subprocess.run(["din_kommando"])

3. Brug af en While-løkke i PowerShell

For Windows-brugere kan PowerShell bruges til at gentage en kommando med en while-løkke.

while ($true) {
    # Din kommando her
    & ./din_kommando
}

4. Brug af Cron-job med et Script

Hvis du ønsker at gentage en kommando med faste intervaller, kan du bruge et cron-job til at køre et script, der indeholder din kommando.

# Åbn crontab
crontab -e

# Tilføj følgende linje for at køre scriptet hvert minut
* * * * * /path/to/your_script.sh

5. Brug af Systemd Service

For Linux-brugere kan en systemd-tjeneste bruges til at sikre, at en kommando køres kontinuerligt.

[Unit]
Description=Gentag kommando

[Service]
ExecStart=/path/to/your_script.sh
Restart=always

[Install]
WantedBy=multi-user.target

Gem ovenstående som en fil med navnet /etc/systemd/system/your_service.service og aktiver tjenesten med følgende kommandoer:

sudo systemctl daemon-reload
sudo systemctl enable your_service
sudo systemctl start your_service

Disse metoder sikrer, at kommandoen gentages, så snart den afsluttes, og at næste udførelse venter på, at den forrige er færdig.