什么"与信号9异常退出:被杀:9"的意思

web*_*r67 14 memory signals crash-reports ios6 xcode4.5

如何读取控制台中出现的错误代码?

<Warning>:  ....... -exited abnormally with signal 9: Killed: 9
<Warning>:  ....... -1 err = Bad file descriptor (0x00000009)
Run Code Online (Sandbox Code Playgroud)

这里信号9意味着什么,除此之外还有更多的信号.任何可用的文档.

当一个应用程序,我得到这种错误.从Xcode启动的Xcode工具栏中的"停止"按钮终止.

{获得此错误的另一种方法是,按主页按钮,然后双击主页按钮并关闭应用程序.}

当我启动应用程序时,情况甚至会变得更糟.再次,通过点击应用程序.iPad屏幕上的图标,应用程序崩溃并抛出"libMobileGestalt copySystemVersionDictionaryValue:无法从系统版本字典中查找ReleaseType"

从查找堆栈溢出,我看到在iOS 6设备中发现此错误.

这个url声明它是一个SIGKILL错误,它发生在"应用程序立即终止,没有任何机会清理或捕获和处理信号"

因此,我认为在" - (void)didReceiveMemoryWarning"中释放objets无助于解决它,那么什么可以是一个明确的解决方案?

- (void)didReceiveMemoryWarning 
{
    [super didReceiveMemoryWarning];

    // Release objects.
    obj1 = nil;
    [view1 removeFromSuperView];
    view1 = nil;
    ...
}
Run Code Online (Sandbox Code Playgroud)

Bre*_*tão 9

这意味着应用程序收到了信号。某些信号可以由应用程序处理,而其他则不能。信号9表示该应用程序需要被杀死,它不是由进程处理,而是由Linux调度程序处理。终止该进程处理的信号的信号是SIGTERM(15),但是,如果该进程不处理该属性,则该进程将继续运行。

以下是主要信号:

   Signal     Value     Action   Comment
   ??????????????????????????????????????????????????????????????????????
   SIGHUP        1       Term    Hangup detected on controlling terminal
                                 or death of controlling process
   SIGINT        2       Term    Interrupt from keyboard
   SIGQUIT       3       Core    Quit from keyboard
   SIGILL        4       Core    Illegal Instruction
   SIGABRT       6       Core    Abort signal from abort(3)
   SIGFPE        8       Core    Floating point exception
   SIGKILL       9       Term    Kill signal
   SIGSEGV      11       Core    Invalid memory reference
   SIGPIPE      13       Term    Broken pipe: write to pipe with no
                                 readers
   SIGALRM      14       Term    Timer signal from alarm(2)
   SIGTERM      15       Term    Termination signal
   SIGUSR1   30,10,16    Term    User-defined signal 1
   SIGUSR2   31,12,17    Term    User-defined signal 2
   SIGCHLD   20,17,18    Ign     Child stopped or terminated
   SIGCONT   19,18,25    Cont    Continue if stopped
   SIGSTOP   17,19,23    Stop    Stop process
   SIGTSTP   18,20,24    Stop    Stop typed at terminal
   SIGTTIN   21,21,26    Stop    Terminal input for background process
   SIGTTOU   22,22,27    Stop    Terminal output for background process
Run Code Online (Sandbox Code Playgroud)

  • 这是否意味着其他人杀死了我的进程?因为我没有... (2认同)

Coc*_*ics 4

在 UNIX 系统上,强制终止应用程序进程的正常方法是

kill -9 PROCESS_ID
Run Code Online (Sandbox Code Playgroud)

这会向应用程序发送九号信号,意思是:“你现在就退出”

通常,未处理的异常也会导致操作系统使用此信号终止应用程序。通过“任务切换器”杀死应用程序也能起到同样的作用。