Esiste un comando bash/linux per avviare un comando di lunga durata, quindi terminarlo dopo n minuti? Immagino di poter incidere qualcosa con Perl usando fork e kill, ma qualcuno sa già qualcosa là fuori?bash: esegui un comando per n minuti, poi SIGHUP it
risposta
Vedere il comando timeout ora nella maggior parte delle distribuzioni GNU/Linux.
timeout -sHUP 10m command
La stessa funzionalità può essere realizzato con http://www.pixelbeat.org/scripts/timeout
Provalo con questo, avvia il tuo comando in background, memorizza il suo PID in $ P, aspetta un po 'di tempo e lo uccide con un SIGHUP
.
yourCommand & PID=$!
sleep ${someMinutes}m
kill -HUP $PID
Acclamazioni
PS: che presuppone un sonno che conosce Nm (minuti), altrimenti, si potrebbe desiderare di fare un po 'di matematica :)
+1 e 'sonno $ ((minuti * 60))' :) – khachik
Khachik, che è stato l'esercizio per il lettore colto;) –
Grazie! Questo è essenzialmente il Perl che ho appena scritto, ma è bello vederlo come un semplice idioma di shell. Mi piacerebbe ancora una sceneggiatura pre-costruita, se qualcuno ne è a conoscenza, ma accetterò questa come risposta. –
n=5
some_command &
pid=$!
at now + $n minutes <<<"kill -HUP $pid"
Il vantaggio di utilizzare at
over in attesa di sleep
è che il tuo script non bloccherà aspettando che il sonno scada. Puoi andare e fare altre cose e at
sparerà in modo asincrono all'ora specificata. A seconda del tuo script, potrebbe essere una caratteristica molto importante.
Ho dato questo +1 per la funzione asincrona, anche se il blocco è quello che avevo in mente. –
- 1. Esegui comando ogni secondo
- 2. Costruisci contenitore con finestra mobile-componi, ma esegui/etc/bash con l'opzione -it più tardi?
- 3. Convenzione di Bash per if; poi
- 4. Bash, esegui il comando ma continua con la sessione interattiva
- 5. Esegui il comando bash in CocoaPod post_install step
- 6. Esegui una funzione ogni X minuti - Python
- 7. script bash da eseguire in 5 minuti
- 8. Usando la cronologia di bash per ottenere un comando precedente, copialo e poi "eseguilo" ma con il comando commentato
- 9. Bash errore ignorando per un particolare comando
- 10. Esegui test selenio automaticamente ogni 5 minuti
- 11. Come posso eseguire periodicamente un comando bash?
- 12. Comando Bash per spostare solo alcuni file?
- 13. Esegui comandi bash da un Rakefile
- 14. Esegui tutti i "Fix-it" di Xcode in una volta
- 15. Esegui un'operazione ogni x secondi per y minuti in C#
- 16. Esegui comando esterno
- 17. Esegui una funzione bash immettendo una directory
- 18. Esegui il comando shell da un client MySQL?
- 19. Git Bash bash: aperto: comando non trovato
- 20. Esegui script bash come demone
- 21. -bash: ruby: comando non trovato
- 22. Trova i file ed esegui il comando
- 23. Esegui comando applicazione per aprire Terminal
- 24. Esegui un comando dopo la disinstallazione
- 25. bash per emettere un segnale acustico se il comando richiede più di 1 minuto per terminare
- 26. Esegui un comando cat con in sed comando in linux
- 27. Esegui uno script bash da uno script R
- 28. Esegui un comando in SCons senza dipendenze
- 29. VIM, Esegui un comando su più file
- 30. Esegui comando vim da riga di comando
Questo è esattamente quello che stavo cercando! –