如何在OSX上沙盒(或监视)一个进程

我正在OSX上运行一个OCR软件(用gui等)来观看放在那里的文件夹和OCR PDF文件。 有时候,这个过程开始performance不佳,并消耗大量的系统内存和CPU,无限期地运行在一个特定的PDF上。

  • 我想知道如何在这种情况下监视这个进程来杀死它。
  • 我也想阻止它使系统停止,例如通过沙箱。

您可以使用内置的沙盒(7)工具对OS X上的应用程序进行沙盒处理。 请参阅沙箱(7),sandbox-exec(1)和sandboxd(8)的手册页。 这个沙箱脚本的存储库也可能是有用的。

OS X 10.7(狮子)也将带来更多的应用程序沙盒function ,但苹果网站上的细节很less 。 我会认为这将与上述function有关。

Plain ps可以帮助解决这个问题:我们运行一个进程,该进程根据ps与花费的wallclock时间考虑每个进程消耗的CPU的秒数,并提醒系统pipe理员查看该比率是否过高; 如果你愿意的话,你当然可以把它杀死。

杀死进程你需要find它的进程号。

 $ ps a| grep _process_name_ 

这个结果在列表中:

样品:

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

现在杀了这个过程:

 kill 31755 

kill命令有一些开关,有时候你需要使用kill -kill _process number_

要获得完整的选项列表,请使用main kill