Processi Python OS

April 22

Il linguaggio di programmazione Python contiene ampie librerie di codice pre-scritta standardizzata che fanno attività di programmazione quotidiana facile ed efficiente. Una di queste librerie, la biblioteca "os", contiene funzioni utilizzate per interagire con il sistema operativo del programmatore. A causa di questo, i programmatori Python possono acquisire dati importanti sullo stato del sistema. Il programmatore può anche creare "processi" o istanze separate di un programma che contempla (o "forchetta") da e eseguire contemporaneamente con il programma principale. Questi processo eseguito in memoria con il programma principale, eseguire lo stesso codice. Questo consente un calcolo più avvenga contemporaneamente nell'arco dello stesso programma.

Il modulo "os"

Il modulo "os" incluso con Python consente ai programmatori di accedere a molti aspetti del loro sistema attraverso un'interfaccia intuitiva Python. La funzionalità del modulo os va dal semplice accesso alle variabili nel sistema (ad esempio il nome del sistema) per monitorare l'ambiente dell'utente. L'esempio seguente mostra come un programmatore importa il modulo os ed utilizza alcune delle sue funzionalità integrate:

os importazione

os.name

"NT '

os.getcwd () // restituisce directory corrente

'C: \ Python27'

Il modulo os e processi

Il modulo os può anche aiutare il programmatore recuperare informazioni sul programma attualmente in esecuzione. Un programma Python può utilizzare le funzioni del modulo os per raccogliere dati riguardanti l'ID di processo del programma numeri (PID), o ottenere le informazioni sull'utente o il gruppo di esecuzione del programma durante l'esecuzione di codice. Nota: La maggior parte dei metodi che recuperano i dati su utenti e gruppi ids funziona solo su sistemi operativi Unix. Alcuni metodi funzionano solo su sistemi sono stati progettati per. Ad esempio, il codice seguente ottiene id processo dell'utente e di utenti e gruppi dell'utente ID.

os.getpid () // Windows e Unix

1500

solo os.getuid () // Unix

85

solo os.getgid () // Unix

34

Creazione di processi

programmatori Python possono utilizzare il "fork) (" metodo per generare un'altra istanza del programma. Quando questo accade, un'altra copia dei program load, e sia il genitore e programmi figlio continuare ad eseguire lo stesso codice. Nel seguente esempio, la funzione fork () crea un nuovo processo, e entrambi i processi verrà eseguito un "if". Il processo padre (il processo di eseguire il "fork ()" di comando) stamperà l'id genitore, e il processo figlio stamperà la propria ID:

CPID = os.fork () // fork () restituisce bambino PID

se CPID == 0: // il processo figlio non avrà conservato il suo ID nella variabile

stampare "Bambino:% s"% os.getpid ()

altro:

print "Parent:% s"% os.getpid ()

il controllo dei processi

Come Python può creare processi, il modulo os fornisce anche metodi per la loro gestione. Il metodo "wait ()" e le sue variazioni controllano il modo in un processo gestisce le proprie processi figli. Il processo principale può solo aspettare fino a qualsiasi processo di completamento, come in attesa (). Oppure può attendere per un processo specifico utilizzando il metodo waitpid (). Infine, il processo genitore può utilizzare il "wait3 ()" e "wait4 ()" metodi per raccogliere informazioni sui processi quando smettono di esecuzione.

con processi

L'utilizzo di programmi multiprocesso permette al programmatore di sviluppare applicazioni per fare più cose contemporaneamente. Una tipica applicazione utilizza multiprocessing è scritto per l'utilizzo su processori con più core. Il programmatore può utilizzare i processi generati da un programma per eseguire calcoli su più core, massimizzando velocità di calcolo ed efficienza. Oppure, il programmatore può utilizzare un processo per eseguire un algoritmo di ascolto, che attende un segnale da una connessione Internet prima di attivare e inviare informazioni al programma principale.