Python退出代码

5

这里有个简短的问题。

当我运行我的Python脚本(Py 3.7.2)时,出现了以下代码:

Process finished with exit code -1

一般来说,我期望是退出代码0,但为什么会是-1

谢谢!

更新! 我添加了一些代码以让您更好地理解我的问题。

import numpy as np
import matplotlib.pyplot as plt
from lmfit import Model

def read_datafile(file_name):
    data = np.loadtxt(file_name, delimiter=' ')
    return data

def decomposition2(x, amp, cen, sig, e):
    return float(amp) * (1 + float(e) * (x - float(cen))) / (pow((x - float(cen)), 2) + pow((float(sig) / 2), 2))


for r in range(20, 91, 1):
    dataread = np.loadtxt("S:/Data/Model4/Mod{}.csv".format(r), delimiter=' ',
                          unpack=True)

    x = dataread[0,]
    y = dataread[1,]

    peak1b = Model(decomposition2, prefix='p1b_')
    peak2b = Model(decomposition2, prefix='p2b_')
    peak3b = Model(decomposition2, prefix='p3b_')
    peak4b = Model(decomposition2, prefix='p4b_')


    model2 = peak1b + peak2b + peak3b + peak4b

    params2 = model2.make_params(p1b_amp=1, p1b_cen=7.708, p1b_sig=4.43, p1b_e=0,
                                p2b_amp=1, p2b_cen=13.880, p2b_sig=5.26, p2b_e=0,
                                p3b_amp=1, p3b_cen=20.037, p3b_sig=5.78, p3b_e=0,
                                p4b_amp=1, p4b_cen=26.237, p4b_sig=6.16, p4b_e=0)

    result2 = model2.fit(y, params2, x=x, fit_kws={'maxfev':20000000})
    final2 = result2.best_fit

你的脚本正在使用多少内存? - pbacterio
1个回答

5

您的进程被信号1(HUP)杀死。

$ python3 -c 'import subprocess; print(subprocess.run(["cat"]).returncode)' & sleep 1 && pkill -HUP cat && fg
[1] 27339

[1]+  Stopped                 python3 -c 'import subprocess; print(subprocess.run(["cat"]).returncode)'
python3 -c 'import subprocess; print(subprocess.run(["cat"]).returncode)'
-1

在Python中,被信号杀死的进程会被赋予负的退出状态: “负值-N 表示子进程被信号N终止(仅适用于POSIX)。” HUP 的整数值为1,所以 -N 是 -1。 https://docs.python.org/3.6/library/subprocess.html

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接