在这里快速提问。
当我运行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
答案 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。