¿Se usará el mismo pid después de que lo maten?

¿Se usará el mismo pid después de que lo maten?

Tenía un archivo abierto usando vimel editor. Estaba en una sshsesión y como llevaba mucho tiempo inactivo, la sesión se cerró y tuve que establecer la conexión nuevamente. Abrí el archivo nuevamente usando vimel editor y me informó que decía:

E325: ATTENTION
Found a swap file by the name ".latest2.sh.swp"
          owned by: ramesh   dated: Sun May 11 11:54:08 2014
         file name: ~ramesh/latest2.sh
          modified: no
         user name: ramesh   host name: xxx.xxx.edu
        process ID: 1466 (still running)
While opening file "latest2.sh"

Como no cambié mucho en el archivo, lo hice,

kill -9 1466

Verifiqué si el proceso se ha ido utilizando,

ps -aef | grep ramesh

yPID 1466no estaba ahí. Ahora, cuando volví a abrir el archivo, me dio el mismo mensaje,

E325: ATTENTION
Found a swap file by the name ".latest2.sh.swp"
          owned by: ramesh   dated: Sun May 11 11:54:08 2014
         file name: ~ramesh/latest2.sh
          modified: no
         user name: ramesh   host name: xxx.xxx.edu
        process ID: 1466
While opening file "latest2.sh"

Sin embargo el proceso fueno sigue funcionandoestado.

Ahora tengo una pregunta respecto a laPIDuso. Según elWikipediaentrada,

En Unix, los ID de proceso generalmente se asignan de forma secuencial, comenzando en 0 y aumentando hasta un valor máximo que varía de un sistema a otro. Una vez que se alcanza este límite, la asignación se reinicia en cero y vuelve a aumentar. Sin embargo, para este paso y los posteriores, se omiten los PID que aún estén asignados a los procesos.

Ahora, suponiendo que haya agotado todos los PID disponibles, ¿elPID 1466serusadoosaltado?

Como ya lo maté, supongo que debería usarse. Sin embargo, en mi segundo intento de abrir el archivo todavía veo elPID 1466.

¿Qué pasará en este caso?

Respuesta1

Sí, los PID se pueden reutilizar en cualquier momento.

Lo que estás viendo en ese resultado es que el proceso que creó ese .swparchivo fue 1466. No significa necesariamente que ese proceso todavía esté vigente.
Recuerde que el archivo es estático, no cambia solo porque el proceso que lo tenía abierto murió. Entonces, si se elimina 1466, el archivo aún contiene la información que dice "El PID 1466 me estaba editando". VIM verifica si este proceso aún está activo y lo indicará como (still running).

Como se mencionó, es posible que otro proceso obtenga exactamente el mismo PID. Al informar como (still running), VIM en realidad no verifica que ese PID sea un proceso VIM.

E325: ATTENTION
Found a swap file by the name ".test.swp"
          owned by: root   dated: Sun May 11 17:04:36 2014
         file name: /tmp/test
          modified: no
         user name: root   host name: whistler
        process ID: 21824 (still running)
While opening file "test"
             dated: Sun May 11 17:04:36 2014

En este caso, PID 21824 es un shell que lancé.  

phemmer  21824  19   0  0.0  0.0 S+         00:53 bash -c [[ "$$" == 21824 ]] && echo MATCH && sleep 999999

información relacionada