Advertisement
teslariu

proc

May 19th, 2021
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.07 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. """
  5. Script que recibe como argumento a traves de la consola el nombre de un
  6. proceso, ejecuta a traves de subprocess el comando 'ps aux' e imprime su
  7. PID y usuario. Si el nombre del proceso no existe, debe mostrar el error
  8. en consola y finalizar
  9. EJ:
  10.  python buscar_procesos.py <proceso>
  11. """
  12.  
  13. import subprocess
  14. import sys
  15.  
  16. # verifico los argumentos:
  17. if len(sys.argv) != 2:
  18.     print("Error: se debe ejecutar 'python buscar_procesos.py <proceso>'")
  19.     sys.exit()
  20.    
  21. # ejecuto el comando 'ps aux'
  22. p = subprocess.run(['ps','aux'], capture_output=True, encoding="utf-8", text=True).stdout
  23. p = p.split("\n")
  24. p = p[1:]
  25. procesos = 0
  26. datos = []
  27.  
  28. # busco los procesos
  29. for fila in p:
  30.     if sys.argv[1] in fila:
  31.         procesos += 1
  32.         posicion = fila.find(".")
  33.         fila = fila[:posicion - 1]
  34.         datos.append(fila)
  35.  
  36. # imprimo los resultados
  37. if procesos:
  38.     print(f"Se hallaron {procesos} procesos:")
  39.     for dato in datos:
  40.         print(dato)
  41. else:
  42.     print(f"No existe el proceso {sys.argv[1]}")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement