LinuxParty

NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

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 
Listar el sistema de archivos /proc
[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
Mostrar PID del proceso SystemD
[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
Mostrar procesos en ejecución con PID
[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

https://www.linuxparty.es/images/Years/2013/glances-caputra-pantalla.png

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:

  1. -p especifica el PID
  2. -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.

No estás registrado para postear comentarios



Redes:



   

 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías