Controles do processo UNIX

1

Começando a ter uma ideia do unix e algumas dificuldades em encontrar comandos para os controles de processo. Como um usuário que não é root, estou tentando descobrir ...

(1) the process id of current shell, 
(2) its parent process’s process id, 
(3) how many processes this user is running, 
(4) how many of processes are running on the machine, 
(5) how many are sleeping, how many are stopped, 
(6) how much total memory your machine has, 
(7) how much of that is used and how much is free.
(8) how to determine whether or not a process is using more than X amount of memory
(9) how to suspend a process temporarily for investigation purposes and how to resume it again
(10)terminating a process and ensuring it is in fact, terminated

Um amigo me recomendou a usar

man

mas estou com problemas para navegar. Se você também pudesse compartilhar um ótimo recurso geral para comandos unix, seria muito apreciado.

    
por gigadrill 10.03.2011 / 03:02

2 respostas

0

Isso é específico para Linux e bash. Algumas delas funcionarão em outros Unixes, e algumas funcionarão em outros shells. Em particular, as coisas que envolvem qualquer coisa em /proc não funcionarão em nenhum outro Unix. E enquanto eu acho que a maioria das shells tem $$ , eu não sei que qualquer shell, mas o bash tem $PPID .

  1. echo $$
  2. echo $PPID
  3. ps -u $USER | tail -n +2 | wc -l
  4. ps -e | tail -n +2 | wc -l
  5. É possível descobrir, mas não é muito fácil.
  6. fgrep MemTotal /proc/meminfo
  7. Esta pergunta também não tem uma resposta fácil. Em um sistema ideal, nunca há mais do que uma pequena memória 'livre', já que qualquer um que não seja necessário para os programas será alocado para o cache de disco. O Linux desloca dinamicamente a memória entre os processos usados e o cache.
  8. ps -ev e procure por processos que tenham um grande RSS, que significa 'tamanho do conjunto de residentes' e represente a quantidade de memória que o processo está usando.
  9. kill -STOP <pid>
  10. Primeiro, mate suavemente kill <pid> e se ele não desaparecer logo em seguida, mate-o com prejuízo kill -9 <pid> . Ele irá embora após o -9, se isso não acontecer, é um problema no kernel de algum tipo.

Como alguns mencionaram, o utilitário top (faça um man top ) será muito útil. Ele informará sobre a memória total e quanto está sendo usado para buffers e cache, e quanto é gratuito. Também pode ser usado para mostrar processos ordenados por uso de memória ou uso da CPU.

    
por 10.03.2011 / 03:11
0

Só para começar, aqui está uma folha de dicas em comandos comuns do Unix. O objetivo de man é encontrar mais informações sobre cada comando, como suas opções e entradas necessárias. Portanto, ls lista os arquivos em seu diretório atual. Se você fizer man ls , poderá encontrar mais opções para esse comando.

    
por 10.03.2011 / 03:10

Tags