“Killed:9”错误是什么意思?

2024-04-29 04:23:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个程序来查找给定字符串的所有子集。但是,这会导致一个名为Killed: 9的错误。

class Strings(object):
    def __init__(self,string):
        self.list1=[]
        self.string=string

    def appendToList(self,ch1):
        self.list1.append(ch1)
        for i in self.list1:
            self.list1.append(i+ch1)

    def subset(self):
        for ch in self.string:
            self.list1=self.appendToList(ch)
        print self.list1

obj=Strings('hello')
obj.subset()

Tags: 字符串inself程序objforstringdef
2条回答

每次迭代现有元素(在appendToList中)并且不需要在subset方法中分配元素时,都会进入无限循环,请检查以下内容:

class Strings(object):
    def __init__(self,string):
        self.list1=[]
        self.string=string

    def appendToList(self,ch1):
        self.list1.append(ch1)
        # for i in self.list1: # no needed for loop is in subset
        #    self.list1.append(i+ch1)


    def subset(self):
        for ch in self.string:
            self.appendToList(ch) # no need to assign to self.list1
        print self.list1

obj=Strings('hello')
obj.subset()

你可以问程序^{}这个信号是什么意思:

$ kill -l | column 
 1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL       5) SIGTRAP
 6) SIGABRT      7) SIGBUS       8) SIGFPE       9) SIGKILL     10) SIGUSR1
11) SIGSEGV     12) SIGUSR2     13) SIGPIPE     14) SIGALRM     15) SIGTERM
16) SIGSTKFLT   17) SIGCHLD     18) SIGCONT     19) SIGSTOP     20) SIGTSTP
21) SIGTTIN     22) SIGTTOU     23) SIGURG      24) SIGXCPU     25) SIGXFSZ
26) SIGVTALRM   27) SIGPROF     28) SIGWINCH    29) SIGIO       30) SIGPWR
31) SIGSYS      34) SIGRTMIN    35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+3
38) SIGRTMIN+4  39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+8
43) SIGRTMIN+9  44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7
58) SIGRTMAX-6  59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2
63) SIGRTMAX-1  64) SIGRTMAX    

所以你的程序会收到一个SIGKILL(可能是由OOM杀手造成的):

SIGKILL

Default action: Abnormal termination of the process.

Description: Kill (cannot be caught or ignored).

到岸价Who "Killed" my process and why?

相关问题 更多 >