想请大神们用linux终端使用nohup后台运行python的问题(多进程运行)
想请问一下下大神们,在开启4个进程尝试服务器后台跑大量数据的任务时候,top命令下已经显示任务已经结束了,但是nohup.out中什么输出也没有显示,浪费了很多的时间。
不知道为什么不能显示代码,就强行手打了。
def function(q,df,day_num):
xxxxxxxxx
temp_list = result
q.put(temp_list)
if __name__ == '__main__':
target_df_0 = pd.csv('XXXX.csv')
target_df_1 = pd.csv('XXXX_1.csv')
target_df_2 = pd.csv('XXXX_2.csv')
target_df_3 = pd.csv('XXXX_3.csv')
q = multiprocessing.Queue()
p1 = mp.Process(target = fuction, args = (q,target_df_0,150))
p2 = mp.Process(target = fuction, args = (q,target_df_1,150))
p3 = mp.Process(target = fuction, args = (q,target_df_2,150))
p4 = mp.Process(target = fuction, args = (q,target_df_3,150))
p1.start()
p2.start()
p3.start()
p4.start()
p1.join()
p2.join()
p3.join()
p4.join()
result_1 = q.get()
result_2 = q.get()
result_3 = q.get()
result_4 = q.get()
print (result_1,flush = True)
print (result_2,flush = True)
print (result_3,flush = True)
print (result_4,flush = True)
linux 命令为 nohup python -u file.py > nohup.out 2>&1 &
当减少数据量的时候有内容输出。有可能是因为内存过小,系统自己kill进程了吗?