Un proceso define una instancia de un programa en ejecución y su entorno. Al igual que con los archivos, aquí sólo mencionamos las diferencias más importantes entre GNU/Linux y Windows (por favor, consulte Capítulo 6, Control de procesos para más información).
La diferencia más importante está directamente relacionada al concepto de usuario: cada proceso se ejecuta con los derechos del usuario que lo inició. Internamente, el sistema identifica a los procesos de forma unívoca con un número, que se denomina el PID (Process ID, ID del Proceso). A partir de este PID, el sistema sabe quien (es decir, que usuario) ha lanzado el proceso, y el sistema sólo debe verificar la validez del proceso. Por lo tanto, si tomamos nuestro ejemplo del archivo un_archivo, un proceso lanzado por el usuario peter sólo podrá abrir este archivo en modo de sólo lectura, pero no en el modo de lectura-escritura, ya que los derechos asociados al archivo lo prohiben. Una vez más, root es la excepción a esta regla.
Gracias a esto, GNU/Linux es virtualmente inmune a los virus. Un virus necesita infectar archivos ejecutables para poder operar. Como usuario regular, Usted no tiene derecho de escritura alguno sobre los archivos vulnerables del sistema, razón por la cual el riesgo se reduce notablemente. Agregue a esto el hecho que, en general, los virus son muy raros en el mundo de UNIX. Hay menos de una docena de virus conocidos para Linux, y eran completamente inofensivos cuando los iniciaba un usuario no privilegiado. Sólo un usuario puede dañar un sistema activando estos virus y es, una vez más, root.
Sin embargo, y curiosamente, sí existe software antivirus para GNU/Linux, pero mayormente para los archivos de DOS/Windows ¿Por qué hay programas antivirus corriendo en GNU/Linux, los cuales se enfocan en DOS/Windows? Cada vez más seguido, Usted ver sistemas GNU/Linux actuando como servidores de archivos para las máquinas Windows con la ayuda del paquete de software Samba (consulte Compartiendo archivos e impresoras en Guía de Administración del Servidor).
Linux hace que sea fácil controlar a los procesos. Una forma de controlarlos es por medio de “señales”, las cuales permiten que Usted suspenda o termine un proceso enviando la señal correspondiente al proceso. Sin embargo, está limitado a enviar señales a sus propios procesos. A excepción de root, UNIX no permite que Usted envíe señales a procesos que inició otro usuario. En Capítulo 6, Control de procesos, Usted aprenderá como obtener el PID de un proceso y enviarle señales.