LinuxParty
En este artículo, veremos cómo encontrar el nombre de un proceso por su número de identificación de proceso (PID). Antes de sumergirnos en la solución real, hablemos brevemente sobre cómo Linux crea e identifica los procesos.
Cada vez que un usuario o el sistema (Linux) inicia un programa, el kernel creará un proceso. Un proceso mantiene los detalles de ejecución del programa en la memoria, como sus datos de entrada y salida, variables, etc.
Es importante destacar que, dado que Linux es un sistema operativo multitarea, ejecuta varios programas simultáneamente, lo que significa que cada proceso debe identificarse específicamente.
El kernel identifica cada proceso utilizando un ID de proceso ( PID ), y cada instancia de proceso debe tener un PID único de otros procesos que se asigna cuando se invoca el proceso, para evitar errores de ejecución.
El sistema de archivos /proc almacena información sobre los procesos que se ejecutan actualmente en su sistema y contiene directorios para cada proceso.
Utilice el comando ls para enumerar su contenido; sin embargo, la lista puede ser larga, por lo tanto, emplee una canalización y la utilidad less para ver el contenido de /proc de una manera más conveniente como se muestra a continuación:
$ ls /proc OR $ ls /proc | less
[javier@newLinuxParty ~]$ ls /proc/
1 14 2061080 2138 2159580 2271 27 3383 462 53 77 901 driver pagetypeinfo
1003 1439793 2078 2139261 2159611 2276 2700 34 464 54 770 91 dynamic_debug partitions
1007 1443893 2080 2144 2159878 23 2702 35 465 56 771 919 execdomains pressure
1010 1443962 2080213 2145322 2159881 2335 28 36 466 57 772 920 fb schedstat
102 1444102 2084247 2145626 2159886 2376 281 38 467 58 773 921 filesystems scsi
103 1444126 2087 2146801 2159943 2383 29 389 468 59 78 924 fs self
104 1444359 2088 2147701 2160260 2384 2910 39 47 6 780 927 interrupts slabinfo
109 1444423 2089 2147742 2160330 2385 2955 4 477 60 79 933 iomem softirqs
1093 1444425 2090 2149265 2160351 2386 2976 40 478 62 793 9360 ioports stat
1099 15 2092559 2149266 2160353 2387 2987 4019909 479 63 797 950 irq swaps
11 1525 21 2149759 2160846 24 3 41 48 64 8 974 kallsyms sys
1124 16 2102239 2151967 2160849 2401 30 42 480 65 80 975 kcore sysrq-trigger
1152 1615714 2102266 2153 2161051 2463 300 429 481 67 81 976 keys sysvipc
1153 17 2102267 2153278 2161123 2491 3153 44 482 68 817331 977 key-users thread-self
1154 18 2109 2153396 2161125 2504 3154 44435 483 69 82 98 kmsg timer_list
1154463 1809741 2112458 2153765 2161132 2508 3155 44438 484 70 821 acpi kpagecgroup tty
1155 1817 2117463 2154169 2162020 2532 3156 45 485 72 83 asound kpagecount uptime
1156 1833 2123054 2154337 2162023 2534 3157 45215 486 73 851411 bootconfig kpageflags version
1181 1835 2123815 2155796 2162226 2549 3160 45227 487 74 851414 buddyinfo latency_stats vmallocinfo
1215 1865 2123833 2157340 2165511 259 3175 45230 488 75 851415 bus loadavg vmstat
1217 1866 2124209 2157360 2165702 26 3177 45233 489 758 851416 cgroups locks zoneinfo
1222 19 2124399 2157545 2165726 261 3195 456 490 76 851417 cmdline mdstat
1249 1911 2127480 2157826 2167178 263 32 457 491 764 859 consoles meminfo
1254 1912 2127661 2158082 2167179 265 3225 458 492 765 861 cpuinfo misc
1259 2 2137048 2158083 2186 2657 3237 459 5 766 873 crypto modules
1267 20 2137524 2158315 22 2664 3239 46 50 767 874 devices mounts
1288 2014339 2137525 2159422 2220 2692 3241 460 51 768 889 diskstats mtrr
13 2061079 2137526 2159552 2268 2694 33 461 52 769 890 dma net
[javier@newLinuxParty ~]$
De la captura de pantalla anterior, los directorios numerados almacenan archivos de información sobre los procesos en ejecución, donde cada número corresponde a un PID .
A continuación se muestra la lista de archivos para el proceso systemd con PID 1 :
$ ls /proc/1
[javier@newLinuxParty ~]$ ls /proc/1
ls: no se puede leer el enlace simbólico '/proc/1/cwd': Permiso denegado
ls: no se puede leer el enlace simbólico '/proc/1/root': Permiso denegado
ls: no se puede leer el enlace simbólico '/proc/1/exe': Permiso denegado
arch_status environ maps patch_state statm
attr exe mem personality status
autogroup fd mountinfo projid_map syscall
auxv fdinfo mounts root task
cgroup gid_map mountstats sched timens_offsets
clear_refs io net schedstat timers
cmdline ksm_merging_pages ns sessionid timerslack_ns
comm ksm_stat numa_maps setgroups uid_map
coredump_filter latency oom_adj smaps wchan
cpu_resctrl_groups limits oom_score smaps_rollup
cpuset loginuid oom_score_adj stack
cwd map_files pagemap stat
[javier@newLinuxParty ~]$
Puede monitorear los procesos y sus PID usando comandos tradicionales de Linux como ps , top y el comando looks relativamente nuevo y muchos más, como en los ejemplos a continuación:
$ ps aux
[javier@newLinuxParty ~]$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.3 224440 25268 ? Ss sep14 0:28 /usr/lib/systemd/systemd --
root 2 0.0 0.0 0 0 ? S sep14 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? I< sep14 0:00 [rcu_gp]
root 4 0.0 0.0 0 0 ? I< sep14 0:00 [rcu_par_gp]
root 5 0.0 0.0 0 0 ? I< sep14 0:00 [slub_flushwq]
root 6 0.0 0.0 0 0 ? I< sep14 0:00 [netns]
root 8 0.0 0.0 0 0 ? I< sep14 0:00 [kworker/0:0H-events_highpr
root 11 0.0 0.0 0 0 ? I< sep14 0:00 [mm_percpu_wq]
root 13 0.0 0.0 0 0 ? I sep14 0:00 [rcu_tasks_kthread]
root 14 0.0 0.0 0 0 ? I sep14 0:00 [rcu_tasks_rude_kthread]
root 15 0.0 0.0 0 0 ? I sep14 0:00 [rcu_tasks_trace_kthread]
root 16 0.0 0.0 0 0 ? S sep14 0:15 [ksoftirqd/0]
root 17 0.0 0.0 0 0 ? I sep14 2:14 [rcu_preempt]
root 18 0.0 0.0 0 0 ? S sep14 0:00 [migration/0]
root 19 0.0 0.0 0 0 ? S sep14 0:00 [idle_inject/0]
root 20 0.0 0.0 0 0 ? S sep14 0:00 [cpuhp/0]
root 21 0.0 0.0 0 0 ? S sep14 0:00 [cpuhp/1]
root 22 0.0 0.0 0 0 ? S sep14 0:00 [idle_inject/1]
root 23 0.0 0.0 0 0 ? S sep14 0:00 [migration/1]
root 24 0.0 0.0 0 0 ? S sep14 0:13 [ksoftirqd/1]
root 26 0.0 0.0 0 0 ? I< sep14 0:00 [kworker/1:0H-events_highpr
root 27 0.0 0.0 0 0 ? S sep14 0:00 [cpuhp/2]
[...]
Supervise los procesos de Linux utilizando el comando superior tradicional .
$ top
Supervise los procesos de Linux con el comando superior
Monitoree los procesos de Linux usando glances, una nueva herramienta de monitoreo de procesos en tiempo real para Linux.
$ glances
Glances: monitoreo de procesos de Linux en tiempo real
Obtenga más información sobre cómo instalar Glances en sistemas Linux .
Descubra el número PID del proceso
Para conocer el PID de un proceso, puede utilizar pidof
, un comando simple para imprimir el PID de un proceso:
$ pido de firefox $ pidof python $ pidof mysqld
Encuentre el PID del proceso de Linux
Volviendo a nuestro punto de enfoque, asumiendo que ya conoce el PID de un proceso, puede imprimir su nombre usando el siguiente formulario de comando:
$ ps -p PID -o formato
Dónde:
-p
especifica el PID-o
habilita el formato definido por el usuario
Descubra el nombre del proceso mediante el número PID
En esta sección, veremos cómo encontrar el nombre de un proceso usando su número PID con la ayuda del formato definido por el usuario, es decir, comm=
que significa nombre de comando, igual que el nombre del proceso.
$ ps -p 2523 -o comm= $ ps -p 2295 -o comm=
Buscar el nombre del proceso de Linux
Para obtener información y opciones de uso adicionales, consulte la página de manual de ps .
$ man ps
Si desea eliminar un proceso utilizando su número PID, le sugiero que lea Buscar y eliminar procesos de Linux utilizando su PID .
Eso es todo por el momento, si conoce alguna otra forma mejor de averiguar el nombre de un proceso usando PID , compártala con nosotros a través de nuestra sección de comentarios a continuación.
-
Artículos
- La versión candidata a la versión GIMP 3.0 ya está disponible para pruebas públicas
- Cómo ejecutar aplicaciones Android en Linux
- Cómo formatear discos en Linux desde la línea de comandos
- Cuarenta y tres monos escapan de un laboratorio de investigación en Estados Unidos
- Intel observa una mejora del rendimiento del 3888,9 % en el kernel de Linux: a partir de una línea de código
- Cómo crear un túnel SSH en Linux
- Cómo configurar el firewall UFW en Ubuntu en 5 minutos
- Linux Lite acaba de incorporar una útil función de inteligencia artificial para el escritorio, y es más sutil de lo que cree
- Cómo instalar Linux en una unidad USB y ejecutarlo en cualquier PC
- Phoca Desktop System Plugin 4.0.5 publicado
- Herramientas de IA para Traducciones Precisas y Naturales: Cómo Optimizar el Proceso
- 6 características que desearía que MacOS copiara de Linux
- Malware en Android: VPN y Apps Peligrosas en Play Store
- Probar el micrófono en Linux usando terminal o shell
- ¿Qué es peor que atrasar el reloj una hora? El horario de verano permanente