Python退出码

时间:2019-01-01 17:28:02

标签: python-3.x pycharm exit-code

在这里快速提问。

当我运行Python脚本(Py 3.7.2)时,我得到了以下代码: Process finished with exit code -1 总的来说,我期望exit code 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

1 个答案:

答案 0 :(得分: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)。” https://docs.python.org/3.6/library/subprocess.html

HUP的整数值为1,因此-N为-1。