Como proteger (ou monitorar) um processo no OSX

2

Estou executando um software de OCR [com gui, etc] no OSX que assiste a uma pasta e PDFs de OCRs que são colocados lá. Ocasionalmente, o processo começa a se comportar mal e consome uma enorme quantidade de memória do sistema e CPU, rodando indefinidamente em um determinado PDF.

  • Gostaria de saber como monitorar esse processo para matá-lo em tais circunstâncias.
  • Gostaria também de impedir que o sistema parasse, por exemplo por sandboxing de alguma forma.
por Kyle 20.03.2011 / 22:10

3 respostas

1

Você pode proteger um aplicativo no OS X com o recurso interno de sandbox (7). Veja as man pages para sandbox (7), sandbox-exec (1) e sandboxd (8). Este repositório de scripts de sandbox também pode ser útil.

O OS X 10.7 (Lion) trará mais recursos de sandbox de aplicativos , bem , mas os detalhes no site da Apple são leves. Eu diria que isso será relacionado ao recurso acima.

    
por 08.06.2011 / 18:38
0

O simples ol ' ps pode ajudar com isso: nós executamos um processo que considera o número de segundos de CPU consumidos por cada processo de acordo com ps versus o tempo transcorrido do wallclock e alerta um sysadmin para dar uma olhada se o proporção é excessiva; Naturalmente, você poderia amarrar isso a um processo específico para matar, se assim preferir.

    
por 20.03.2011 / 22:16
0

para matar o processo, você precisa encontrar o número do processo.

$ ps a| grep _process_name_

isso resulta na lista:

Amostra:

$ ps a|grep Safari
31755 s000  R+     0:00.00 grep Safari

agora mate o processo:

kill 31755

Existem alguns interruptores para o comando kill, às vezes você precisa usar kill -kill _process number_

Para obter uma lista completa de opções, use main kill

    
por 21.03.2011 / 10:00