Respuestas:
Depende exactamente de cómo se actualice el ejecutable. Si se abre el mismo archivo y se cambian partes del mismo, sucederán cosas malas. Si se elimina, el archivo se elimina de la estructura de directorios del sistema de archivos, pero en realidad no se desvincula (es decir, se elimina) hasta que el último proceso que lo tiene abierto lo haya ejecutado. Entonces, si se elimina el ejecutable y se escribe uno nuevo con el mismo nombre en su lugar, el antiguo debería continuar funcionando correctamente.
Seguirán adelante. Tal vez se estrellen horriblemente si intentan acceder a ellos mismos y recibir algo completamente incorrecto. No lo haría a menos que tuviera que :)
Tengo entendido que el kernel de Linux tiene un componente llamado cargador que abre el archivo ejecutable en sí mismo, que contiene la imagen, durante el proceso de carga / vinculación, y una vez hecho con la vinculación a bibliotecas, etc., el cargador cierra el archivo. Por lo tanto, este proceso ocurre y se completa cuando el núcleo realmente lo inicia.
No estoy seguro de si es necesario hacer referencia al ejecutable original en el disco si el ejecutable luego trata de importar bibliotecas externas.
Yo diría, y según mi experiencia, si elimina el ejecutable en el disco, el ejecutable cargado en la memoria no se ve afectado. Del mismo modo, si el archivo ejecutable se reemplaza por versiones más nuevas, las que se ejecutan actualmente no se actualizan "automáticamente" a menos que se detengan y se vuelvan a lanzar.
Tuve problemas con un controlador RAID que hizo que todo el disco en el que se montó el directorio raíz y otras particiones actuara repentinamente como si estuviera desconectado. No se pudieron cargar nuevos programas, pero los que estaban en la memoria funcionaban bien, hasta que necesitaron archivos del disco.