Obtención de la lista de procesos y aplicaciones en ejecución -- mmand-line campo con process campo con startup-applications camp askubuntu Relacionados El problema

Getting List of Running processes and applications


2
vote

problema

Español

¿Cómo puedo ver qué aplicación y qué procesos se ejecutan recientemente después del inicio de sesión usando el comando de terminal?

Original en ingles

How can I see which application and what processes are running recently after the login using terminal command.

        
   
   

Lista de respuestas

3
 
vote
vote
La mejor respuesta
 

El siguiente script enumera todos los procesos, y los divide en las aplicaciones y Otros procesos .

.

Como definición para una aplicación, practico que el proceso se inicia desde un archivo .desktop (ya que prácticamente todas las aplicaciones están representadas por un archivo ABCDEFGHIJKLMNABCDEFGHIJKLMN2 ARCHIVO APLICAN EN EL DASH (el archivo .desktop no tiene línea: NoDisplay=true ).

Trabajo a realizar:

El script, tal como está, deriva el nombre del proceso de la aplicación de la (última sección del-) el comando, que se encuentra en el archivo de escritorio, y también de la información, que se encuentra en los posibles simples simbólicos, podría referirse (por ejemplo, en caso de de ABCDEFGHIJKLMNABCDEFGHIJKLMN5 & GT; Nombre del proceso: ABCDEFGHIJKLMNABCDEFGHIJKLMN6 ). Sin embargo, en algunos casos, una aplicación se ejecuta desde un script remoto, llamado desde el archivo .desktop . En esos casos, el proceso no será reconocido como una solicitud.

El script proporciona una salida como:

  ABCDEFGHIJKLMNABCDEFGHIJKLMN8   

etc ...

El script

  ABCDEFGHIJKLMNABCDEFGHIJKLMN9   

Cómo usar

Copie el script en un archivo vacío, guárdelo como .desktop0 , ejecuágelo por el comando:

  .desktop1  

Editar: actualizó mi respuesta, reescribió el script.

Mejoras:

  • (mucho) mejor rendimiento

  • El script ahora rastreando y reconoce las aplicaciones, iniciadas a través de Symlinks (que pueden tener otro nombre de proceso). Aunque las excepciones siempre son posibles, deberían ser raras ahora.

 

The following script lists all processes, and splits them in applications and other processes.

As definition for an application, I practice that the process is initiated from a .desktop file (since practically all applications are represented by a .desktop file), and that the .desktop file appears in Dash (the .desktop file has no line: NoDisplay=true).

Work to be done:

The script, as it is, derives the application's process name from the (last section of-) the command, found in the desktop file, and also from information, found in the possible symlinks it might refer to (e.g. in case of LibreOffice > process name: soffice.bin). In some cases however, an application runs from a remote script, called from the .desktop file. In those cases, the process will not be recognized as an application.

The script gives an output like:

Processes, related to applications:   PID TTY          TIME CMD  1933 ?        00:03:55 firefox 18091 ?        00:00:00 dia 18162 ?        00:00:01 soffice.bin 31167 ?        00:00:06 alarm-clock-app 31174 ?        00:00:09 nautilus 31301 ?        00:00:20 dropbox 31998 ?        00:01:35 idle3  Other processes:   PID TTY          TIME CMD     1 ?        00:00:01 init     2 ?        00:00:00 kthreadd     3 ?        00:00:02 ksoftirqd/0     5 ?        00:00:00 kworker/0:0H     7 ?        00:00:15 rcu_sched     8 ?        00:00:08 rcuos/0 

etc...

The script

#!/usr/bin/env python3  import os import subprocess  def createlist_appcommands():     dtfile_dir = "/usr/share/applications"     dtfile_list = [item for item in os.listdir(dtfile_dir) if item.endswith(".desktop")]     commands = []     for item in dtfile_list:         try:             with open(dtfile_dir+"/"+item) as data:                 searchlines = data.readlines()                 command = [line for line in searchlines if line.startswith("Exec=")                            and not "NoDisplay=true\n" in searchlines                             ][0].replace("Exec=", "").replace("\n", "").split("/")[-1].split(" ")[0]             commands.append(command)         except Exception:             pass     return commands + [trace_symlinks(item) for item in commands if not trace_symlinks(item)== None]  def trace_symlinks(command):     target = subprocess.Popen(["which", command], stdout=subprocess.PIPE)     location = (target.communicate()[0].decode("utf-8")).split("\n")[0]                                                               check_filetype = subprocess.Popen(["file", location], stdout=subprocess.PIPE)     filetype = (check_filetype.communicate()[0].decode("utf-8")).split("\n")[0]     if "symbolic link" in filetype:         return filetype.split("/")[-1].replace("' ", "")     else:         pass  def createlist_runningprocs():     processesb = subprocess.Popen(["ps", "-e"], stdout=subprocess.PIPE)     process_listb = (processesb.communicate()[0].decode("utf-8")).split("\n")     linked_commands = [(item, item[24:]) for item in process_listb][1:]     applist = createlist_appcommands()     print("Processes, related to applications:\n  PID TTY"+" "*10+"TIME CMD")     matches = []     for item in applist:         for i in range(0, len(linked_commands)):             if item[:15] in linked_commands[i][1] and len(item[:15])/len(linked_commands[i][1]) > 0.5:                 matches.append(i)     matches = sorted(matches)     for i in range(0, len(linked_commands)):         if i in matches:             print(linked_commands[i][0])     print("\nOther processes:\n  PID TTY"+" "*10+"TIME CMD")     for i in range(0, len(linked_commands)):         if not i in matches:             print(linked_commands[i][0])  createlist_runningprocs() 

How to use

Copy the script in an empty file, save it as processes.py, run it by the command:

python3 /path/to/processes.py 

Edit: updated my answer, rewrote the script.

Improvements:

  • (much) better performance

  • the script now traces and recognizes applications, initiated via symlinks (which may have another process name). Although exceptions are always possible, they should be rare now.

 
 
 
 
6
 
vote

Generalmente ABCDEFGHIJKLMNABCDEFGHIJKLMN12 lo hace.

Si escribe .desktop3 < / a>, obtendrá el manual para este comando, y allí puede verificar qué bandera necesitará. Por ejemplo, ABCDEFGHIJKLMNABCDEFGHIJKLMN14 listará todos los procesos en ejecución en el sistema.

Otro comando es .desktop5 que mostrará una vista activa de todo el proceso en ejecución.

 

Generally ps command does it.

If you type man ps, you will get the manual for this command, and there you can check which flag you will need. For example, ps -e will list all running processes in the system.

Another command is top which will show an active view of all running process.

 
 

Relacionados problema

2  El creador de discos de inicio no permite cargar ninguna ISO  ( Startup disc creator not allowing any iso to be loaded ) 
Tengo 12.04, Ubuntu, y Startup DiskCreator no está permitiendo que el programa vea la ISO. PERMANTES DERECHOS Simplemente no lo carga. El USB carga bien aunqu...

2  Eclipse IDE no se inicia  ( Eclipse ide does not start ) 
Mi computadora se apaga de repente debido a la falla de la energía, mientras trabajaba en un proyecto Android usando mi Eclipse Indigo IDE. Ahora, si comien...

1  ¿Por qué este comando no se ejecuta al inicio?  ( Why does this command doesnt run at startup ) 
Así que quiero girar Capslock en Ctrl. Desde mi Google-Fu, el comando para ejecutar es /usr/bin/setxkbmap -option "ctrl:nocaps" y funciona cuando lo ejecuto...

1  APRENDIENDO APLICACIONES EN BOOUT [CERRADO]  ( Starting applications on bootup ) 
cerrado . Esta pregunta necesita detalles o claridad . Actualmente no está aceptando respuestas. ...

13  ¿Cómo dejo de que ORCA DEBE PRESENTAR EN EL INICIO?  ( How do i stop orca from starting up on login ) 
Orca sigue iniciando después de comenzar el sistema, y ​​no puedo encontrarlo en "Aplicaciones de inicio". ¿Cómo detenerlo? ...

26  ¿Qué aplicaciones de inicio puedo deshabilitar con seguridad?  ( Which startup applications can i safely disable ) 
¿Qué elementos de inicio se pueden eliminar de manera segura (para usuarios de escritorio en el hogar)? Yo uso este comandos de terminal para ver toda la...

5  ¿Cómo puedo obtener a bordo (el teclado de pantalla) para dejar de iniciarse cada vez que inicie sesión?  ( How can i get onboard the screen keyboard to stop launching every time i log i ) 
Por alguna razón extraña (es decir, no tengo una computadora de tableta) a bordo, el teclado en pantalla, comienza cada vez que inicie sesión. He comprobado l...

23  ¿A dónde fue el Programa de Preferencias de Startup-Aplication-Preferencias?  ( Where did the startup applications preferences program go ) 
Me gustaría cambiar mis aplicaciones de inicio, ¿dónde puedo encontrar el programa de Preferencias de Startup-Aplicaciones del programa? Estoy usando gnome-sh...

1  La secuencia de comandos, utilizando notificar: enviar, se niega cuando se ejecuta desde aplicaciones de inicio  ( Script using notify send refuses when run from startup applications ) 
Quiero ejecutar un script de Python que produce una notificación de escritorio en la puesta en marcha en Ubuntu 12.04. ¿Cómo puedo hacer esto? Probé algunas...

0  Aplicación de inicio en Ubuntu 20.04  ( Startup application on ubuntu 20 04 ) 
Estoy buscando una aplicación de inicio (que se abre justo después de que el usuario inicie sesión) en Ubuntu 20.04. Si importa, esta aplicación mostrará un t...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos