C'è un modo per mettere in pausa un processo (in esecuzione da un file eseguibile) in modo che interrompa il caricamento della CPU mentre è in pausa, e attende fino a quando non è in grado di continuare il suo lavoro? Forse in Python, o in qualche modo accessibile da Python.Mettere in pausa un processo?
risposta
Utilizzando psutil (https://github.com/giampaolo/psutil):
>>> import psutil
>>> somepid = 1023
>>> p = psutil.Process(somepid)
>>> p.suspend()
>>> p.resume()
stai pensando a SIGTSTP - lo stesso segnale che si verifica quando si preme CTRL-Z
. Questo sospende il processo finché non diventa SIGCONT.
ovviamente, alcuni programmi possono semplicemente catturare e ignorare questo segnale, quindi dipende dall'eseguibile. tuttavia, se puoi sospenderlo e riprenderlo manualmente, puoi farlo anche da un programma python. utilizzare os.kill()
e come faccio a sospenderlo in modo che continui a funzionare da dove era prima? –
Invia un SIGCONT –
SIGSTOP non può essere bloccato e sarebbe leggermente più accurato in questo contesto, non proveniente da un tty. http://en.wikipedia.org/wiki/SIGSTOP – msw
C'è una (quasi) nativo modo di fare questo in Python, ed è abbastanza semplice:
import time
time.sleep(5)
In questo snippet, 5
è il numero di secondi che si desidera mettere in pausa il programma.
Questo non risponde alla domanda; che tratta di mettere in pausa * un altro * processo. – bfontaine
Ho appena implementato questo con segnali in pitone qualcosa di simile:
def mysignalhandler(sig, frame):
print "Got " + str(sig)
if sig == signal.SIGUSR1:
do_something()
signal.signal(signal.SIGUSR1, mysignalhandler)
signal.pause()
verrà sospesa l'ultima riga e chiamare do_something()
quando riceve il segnale USR1, ad esempio attraverso un
kill -USR1 <pid>
Comando
.
Tuttavia, funziona solo in UNIX.
- 1. C# Come mettere in pausa un timer?
- 2. Come mettere in pausa un NSTimer?
- 3. Impossibile mettere in pausa SKEmitterNode in iOS9
- 4. come mettere in pausa/riprendere una discussione
- 5. Come mettere in pausa/riprendere AVPlayer precarico
- 6. Come mettere in pausa/riprendere i download in iPhone (iOS)
- 7. Come mettere in pausa usando DownloadManager?
- 8. È possibile mettere in pausa un'immagine .gif?
- 9. Come mettere in pausa durante l'animazione/transizione
- 10. Impossibile mettere in pausa nano nel terminale
- 11. Mettere in pausa un SKAction in Spritekit con Swift
- 12. Come posso mettere in pausa una NSOperation in NSOperationQueue?
- 13. Come mettere in pausa un Threading.Timer per completare una funzione
- 14. Come mettere in pausa un NSThread fino alla notifica?
- 15. Come mettere in pausa e riprendere un TimerTask/Timer
- 16. Come mettere in pausa completamente un gioco? SpriteKit/SceneKit [SWIFT]
- 17. come faccio a mettere in pausa e riprendere un timer?
- 18. Come mettere in pausa il ridisegno in XNA?
- 19. JavaFX2: Posso mettere in pausa un'operazione/servizio in background?
- 20. Mettere in pausa manualmente un'applicazione in Android Phone Phone
- 21. Come avviare un processo e quindi metterlo immediatamente in pausa?
- 22. come mettere in pausa la console in linguaggio F #
- 23. Come mettere in pausa il timer handler.postDelayed() su Android
- 24. Come posso mettere in pausa tutte le animazioni jQuery?
- 25. Come mettere in pausa e quindi riprendere una discussione?
- 26. Come mettere in pausa Eclipse su qualsiasi eccezione?
- 27. Come per mettere in pausa il suono quando l'uso SpriteKit
- 28. Come mettere in pausa il tempo nella programmazione iOS
- 29. ExoPlayer e avviare/mettere in pausa/comandi seekTo
- 30. Come per mettere in pausa e riprendere l'UIView.animateWithDuration
intendi thread o processo di sistema in esecuzione? – ukanth
un processo di sistema in esecuzione. –
Sarei propenso ad abbassare la priorità del processo piuttosto che "metterla in pausa". In questo modo, altri processi andranno per primi –