Sådan kører du en kommando automatisk i 5 minutter uden Ctrl-C (Linux, macOS, Windows)

Hvordan kan en specifik kommando, som kun kan afsluttes med Ctrl-C, automatisk køre i 5 minutter eller en anden angivet tidsperiode?

For at få en kommando, der normalt kræver Ctrl-C for at afslutte, til automatisk at køre i en bestemt tidsperiode, kan du på Unix-baserede systemer bruge `timeout` kommandoen, og på Windows kan du kombinere `start`, `timeout` og `taskkill` kommandoerne.

Hvordan kan en specifik kommando, som kun kan afsluttes med Ctrl-C, automatisk køre i 5 minutter eller en anden angivet tidsperiode?

For at få en kommando, der normalt kræver Ctrl-C for at afslutte, til automatisk at køre i en bestemt tidsperiode, kan du bruge forskellige metoder afhængigt af dit operativsystem. Her er nogle løsninger for både Unix-baserede systemer (som Linux og macOS) og Windows:

Unix-baserede systemer (Linux og macOS)

Du kan bruge timeout kommandoen, som er en del af GNU Core Utilities. Her er et eksempel på, hvordan du kan bruge den:

  • Åbn terminalen.
  • Indtast følgende kommando:
    timeout 5m 
  • Udskift <din_kommando> med den kommando, du vil køre.

Eksempel:

timeout 5m ping google.com

Dette vil køre ping google.com i 5 minutter og derefter automatisk afslutte kommandoen.

Windows

På Windows kan du bruge timeout kommandoen i kombination med start og taskkill. Her er et eksempel:

  • Åbn Kommandoprompten.
  • Indtast følgende kommandoer:
    start ""  & timeout /t 300 & taskkill /f /im .exe
  • Udskift <din_kommando> med den kommando, du vil køre, og <din_kommando>.exe med den tilsvarende eksekverbare fil.

Eksempel:

start "" ping google.com & timeout /t 300 & taskkill /f /im ping.exe

Dette vil køre ping google.com i 5 minutter (300 sekunder) og derefter automatisk afslutte kommandoen.

Alternativ metode: Brug af scripts

Du kan også skrive et script til at håndtere dette. Her er et eksempel på et bash-script til Unix-baserede systemer:

#!/bin/bash
 &
PID=$!
sleep 300
kill $PID

Gem dette som en fil, f.eks. run_for_5_minutes.sh, og gør den eksekverbar:

chmod +x run_for_5_minutes.sh

Kør derefter scriptet:

./run_for_5_minutes.sh

Dette script vil køre <din_kommando> i 5 minutter og derefter afslutte den.

Ved at bruge disse metoder kan du nemt få en kommando, der normalt kræver Ctrl-C for at afslutte, til automatisk at køre i en bestemt tidsperiode.