Table of Contents
Cómo encontrar un nombre de proceso usando el número PID en Linux
En este artículo, veremos cómo encontrar un nombre de 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) lanza un programa, el kernel creará un proceso. Un proceso contiene 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, y esto significa que cada proceso debe identificarse específicamente.
El kernel identifica cada proceso mediante un ID. ( PID. de proceso, cada instancia de proceso debe tener un único PID. de otros procesos que se asigna cuando se invoca el proceso, para evitar cualquier error de ejecución.
El sistema de archivos/proc almacena información sobre los procesos que se están ejecutando actualmente en su sistema, contiene directorios para cada proceso.
freestar.config.enabled_slots.push
Use el comando ls para listar su contenido, sin embargo, la lista puede ser de largo, así que emplee una canalización y la utilidad menor para ver el contenido de/proc de una manera más conveniente como se muestra a continuación:
$ l s/proc O $ ls/proc | menos List/proc File System 1168 2230 25329584 7386 83 controlador schedstat 10169 2234 2503 33603 74830 execdomains scsi 1070 17 2247 2507 34610 7411833 fb self 1081 1702 2256 2523349611 7423 836 sistemas de archivos slabinfo 109 1714 2258253 35612745839 fs softirqs 11173 2266 2551 36613746 84 interrupciones stat 110 1760 2273 26362 62 75844 iomem swaps 1188 1763 2278 2688 3642 63 7533 85 ioports sys 12 1769 2282 2694 3643 64 7589 86 irq sysrq-trigger 1204177 2283 2695 37 6436 76860 kallsyms sysvipc 1209 1773 2285 2698 38 65 7619 87 kcore thread-self 1254 18 2287 2699 39 66 7689 9 teclas timer_list 13 1847 2295 27 3974 67 7690 94 ke y-users timer_stats 15 1914 23 2702 3976 68 77977 kmsg tty 152 1917 2308 28 4273 6897 7725981 kpagecgroup uptime 153 1918 2309280 4374 69 7729987 kpagecount versión 154 1938 2310 2815 4392 6969 7733997 kpageflags version_signature 155 1956 2311 2817 44 6980 78 acpi loadavg vmallocinfo 156 1981 2315282 45 7 79 cerraduras de sonido vmstat 1565 1986 2316283 4543 70790 buddyinfo mdstat zoneinfo 1567 1988 2317 29 46 71 8 bus meminfo 157 2 2324 2935461 7102 80 cgroups misc 1579 20 2347 2944 4686 72808 cmdline módulos 158 2010 2354 3 47 73 81 soportes de consolas 1584 2043 2436 30 4700 7304810 cpuinfo mtrr 159 2044 2437 3016 5 7311815 crypto net 1590 21 2442 31515 7322 82 dispositivos pagetypeinfo 16 2167 2443 318 5273 7347 820 particiones diskstats 160 22 2492 32 5274 7367823 dma sched_debug
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 Muestra el PID del proceso SystemD 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 attr coredump_filter gid_map mountinfo oom_score schedstat status autogroup cpuset io mounts oom_score_adj sessionid syscall auxv cwd límites mountstats pagemap setgroups tarea cgroup entorno loginuid net personalidad smaps temporizadores clear_refs exe map_files ns projid_map stack uid_map cmdline fd maps numa_maps root stat wchan comm fdinfo mem oom_adj sched statm
Puede monitorear procesos y sus PID usando comandos tradicionales de Linux como ps, top y el comando glances relativamente nuevo y muchos más como en los ejemplos a continuación :
$ ps aux Mostrar procesos en ejecución con PID USUARIO PID% CPU% MEM VSZ RSS TTY ESTADO TIEMPO DE INICIO COMANDO root 1 0.0 0.0 185728 6268? Ss 10:15 0:01/sbin/init splash root 2 0.0 0.0 0 0? S 10:15 0:00 [kthreadd] raíz 3 0.0 0.0 0 0? S 10:15 0:00 [ksoftirqd/0] raíz 5 0.0 0.0 0 0? S <10:15 0:00 [kworker/0: 0H] raíz 7 0.0 0.0 0 0? S 10:15 0:09 [rcu_sched] raíz 8 0.0 0.0 0 0? S 10:15 0:00 [rcu_bh] raíz 9 0.0 0.0 0 0? S 10:15 0:00 [migración/0] raíz 10 0.0 0.0 0 0? S 10:15 0:00 [perro guardián/0] raíz 11 0.0 0.0 0 0? S 10:15 0:00 [perro guardián/1] raíz 12 0.0 0.0 0 0? S 10:15 0:00 [migración/1] raíz 13 0.0 0.0 0 0? S 10:15 0:00 [ksoftirqd/1] raíz 15 0.0 0.0 0 0? S <10:15 0:00 [kworker/1: 0H] raíz 16 0.0 0.0 0 0? S 10:15 0:00 [perro guardián/2] raíz 17 0.0 0.0 0 0? S 10:15 0:00 [migración/2] raíz 18 0.0 0.0 0 0? S 10:15 0:00 [ksoftirqd/2] raíz 20 0.0 0.0 0 0? S <10:15 0:00 [kworker/2: 0H] raíz 21 0.0 0.0 0 0? S 10:15 0:00 [perro guardián/3] raíz 22 0.0 0.0 0 0? S 10:15 0:00 [migración/3] raíz 23 0.0 0.0 0 0? S 10:15 0:00 [ksoftirqd/3] raíz 25 0.0 0.0 0 0? S <10:15 0:00 [kworker/3: 0H] raíz 26 0.0 0.0 0 0? S 10:15 0:00 [kdevtmpfs] raíz 27 0.0 0.0 0 0? S <10:15 0:00 [netns] raíz 28 0.0 0.0 0 0? S <10:15 0:00 [perf] ....
Supervise los procesos de Linux utilizando el comando superior tradicional.
$ top
Supervise los procesos de Linux con el comando superior
Supervise los procesos de Linux utilizando glances. una nueva herramienta de supervisión de procesos en tiempo real para Linux.
$ glances
Glances-Monitoreo de procesos Linux en tiempo real
Obtenga más información sobre cómo instalar Glances en sistemas Linux.
Averigüe el número PID del proceso
Para averiguar el PID. de un proceso, puede utilizar pidof, un comando simple para imprimir el PID. de un proceso:
$ pidof firefox $ pidof python $ pidof canela
Buscar PID de proceso de Linux
Regresando Para nuestro punto de enfoque, asumiendo que ya conoce el PID. de un proceso, puede imprimir su nombre usando el formulario de comando a continuación:
$ ps-p PID-o formato
Donde :
- -p especifica el PID
- -o formato habilita un formato definido por el usuario
Encontrar el nombre del proceso usando 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 usuario def formato ined, 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 ps man.
$ man ps
Si desea eliminar un proceso usando su número PID, le sugiero que lea Buscar y eliminar procesos Linux usando su PID.
Eso es todo por el momento, si conoce alguna otra forma mejor para encontrar un nombre de proceso usando PID. comparta con nosotros a través de nuestra sección de comentarios a continuación.