Em uma tarefa diária de um administrador, sempre foram necessários conhecimentos sobre os processos no 
Linux. Este tutorial é bem direto ao ponto, sobre o que um administrador Linux precisa saber!
O Linux é um programa monotarefa, mas com time shared (tempo de execução compartilhado). Processos são programas em execução, processo zumbi é quando o processo pai morre.
Todo processo, possui:
-  Espaço de endereçamento de memória;
-  Variáveis de ambiente;
-  Lista de arquivos abertos;
-  Um número que o identifica, conhecido como PID;
-  Um processo pai (parent) identificado pelo PPID;
-  Identificação de usuário e grupo.
   
Um processo tem uma ou mais linhas de execução (threads). Existem processos com maior e menor prioridade. Na hierarquia de processos, dizemos que o processo que chama o outro é o processo pai, enquanto o novo, é o processo filho.
A única forma de criar um processo novo no Linux, é através da chamada de sistema fork().
Rodar um programa na verdade é um fork seguido de uma chamada de sistema 
execl.
Toda vez que se cria um processo, na verdade, o sistema está fazendo um fork, que nada mais é do que uma interface programática para acessar os recursos e/ou serviços no kernel do sistema operacional
   
Processos - criação
   
Os programas, usualmente, são de 2 tipos:
Binários :: Instruções em linguagem de máquina. Ex.: ELF.
Scripts :: Arquivos de comando (1º linha do tipo 
!/bin/bash, ou 
!/usr/bin/pearl).
    
Comandos:
# ps   # Visualiza os processos em execução
# ps -a   
# Exibe processos de outros usuários também
# ps -u   # Exibe os processos detalhadamente inclusive com uso de memória
# ps -x   # Exibe os processos que não estão vinculados a terminais
# ps -ef   # Exibe todos os processos e mostra o PPID
# top   # Exibe os processos que utilizam CPU em tempo real
# top -d   # Exibe os processos que utilizam CPU em tempo real com atualização de 1 seg
# kill -9 (processo)   # Mata um processo
# kill -l   # Mostra as opções do comando kill
CRTL-Z   # Coloca um processo em segundo plano
# fg (nº)   # Coloca um processo em primeiro plano
# jobs   # Lista processos que estão em segundo plano
   
Para executar diretamente em segundo plano, utilizar 
& no final.
   
Processos - prioridade
   
Dependendo da importância dos processos, pode-se criar processos com maior e menor prioridade.
Além disso, é possível alterar a prioridade de um processo, mesmo depois dele já ter sido criado e estar sendo executado:
# nice -n (-20 a +19) programa   # Roda o programa com a prioridade desejada
# renice (-20 a +19) processo   # Permite alterar a prioridade do programa estando em execução
A prioridade vai de 
-20 (maior) até 
+19 (menor).
Quando iniciamos um programa com o comando 
nice, sua prioridade é igual a 
+10.
Se executamos o programa normalmente, sua prioridade será igual a zero.
   
Processos - memória
    
Para os processos, a memória é linear e começa do zero.
Na memória física, o processo pode estar em páginas não sequenciais, em qualquer lugar da memória. Se houver pouca memória para executar os processos, pode-se utilizar a memória SWAP.
Quando a memória física acaba, o sistema grava na SWAP as páginas de memória menos acessadas, abrindo espaço para novas páginas.
É isso por hoje, direto ao ponto e sem muitos segredos, esperamos que vocês aproveitem as dicas.
Abraços,
Equipe 
Mundo Open