Processus

Programmation Python via un terminal

  1. Lancer la machine virtuelle Ubuntu
  2. Ouvrir un terminal et ouvrir l' éditeur de texte gedit en entrant la commande gedit
  3. Entrer en le complétant le code suivant (où il y a pass, enlever pass et insérer des instructions)

    
    def echange(i:int,j:int,tab:list)->None:
        temp = tab[i]
        tab[i] = tab[j]
        tab[j] = temp
        
    def selection(i:int,tab:list)->int:
        """
        retourne l'indice de la première valeur minimale
        du tableau tab à partir de i
        >>> selection(0,[2, 1, 3, 1])
        1
        >>> selection(3,[2, 1, 3, 1])
        3
        """
        ind_min = i
        for j in range(i,len(tab)):
            pass
        return ind_min
    
    def tri_selection(tab:list)->list:
        """
        >>> tri_selection([2])
        [2]
        >>> tri_selection([2, 1, 3, 1])
        [1, 1, 2, 3]
        >>> tri_selection([5, 4, 3, 2, 1])
        [1, 2, 3, 4, 5]
        """
        pass
    
    if __name__ == "__main__":
        
        import time
        M = 10**4
        T = [i for i in range(M,0,-1)]
        t1 = time.time()
        tri_selection(T)
        t2 = time.time()
        print(t2-t1)
    
    
  4. Enregistrer le fichier sous proc.py dans le ~
  5. Quitter gedit et exécuter le programme Python en entrant la commande dans le terminal
    	
    	python3 proc.py 
    
    
  6. Vous devez observer que le terminal est bloqué le temps que le processus s'exécute (durant une vingtaine de secondes)

    Ouvrir un autre terminal et entrer la commande pstree

    Vous devez observez quelque chose comme ceci

    Il y a deux processus bash, l'un a pour enfant le processus Python, bloquant , l'autre a pour enfant le processus pstree

  7. Entrez maintenant dans un terminal la commande

    	
    	python3 proc.py& 
    
    

    Vous devez observez que cette fois ci le processus Python n'est plus bloquant, bien qu'il ne soit pas encore terminé

    Entrez la commande pstree

    Cette fois-ci le processus Python n'est plus le seul enfant du processus bash et le processus pstree est un frère du processus Python

  8. Pour arrêter le processus Python faire CTRL + C

Arrêt des processus

On a vu que pour arrêter un processus comme top, ou Python on a utilisé la combinaison de touches CTRL + C

On peut utiliser aussi la commande kill

  1. Paramétrer le navigateur Firefox pour le proxy du lycée (10.0.0.1:3128)
  2. Lancer Firefox à la console sans que cela soit bloquant

    	
    	firefox& 
    
    
  3. Ecouter une radio ou un morceau de musique sur Youtube

    Entrez maintenant dans un terminal la commande

    
    	python3 proc.py& 
    
    

    Enfin entrer la commande top pour observer les états des principaux processus, firefox, python et top

  4. Relever le PID du processus Firefox,noté ici n, puis arrêter ce processus avec la commande suivante

    
    	kill  n
    
    
  5. Lire le manuel de la commande kill pour trouver comment mettre en pause un processus, puis le relancer

    Essayer avec le processus firefox ou d'autres processus