想请大神们用linux终端使用nohup后台运行python的问题(多进程运行)

qq_42141332 2018-05-07 12:21:28
想请问一下下大神们,在开启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进程了吗?
...全文
1387 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_42141332 2018-05-07
  • 打赏
  • 举报
回复
引用 5 楼 oyljerry 的回复:
[quote=引用 4 楼 qq_42141332的回复:][quote=引用 3 楼 oyljerry 的回复:] [quote=引用 2 楼 qq_42141332 的回复:] [quote=引用 1 楼 oyljerry 的回复:] 会不会进程根本就没有正常结束,或者内存不够时,系统可能会kill你的进程
请问我该如何判断是究竟是出了什么问题呢?我现在有的信息就是nohup中没有写入数据。不好意思,刚刚接触linux系统。还请见谅。[/quote] 逐步排除,比如多增加一些信息输出,在程序已启动的地方就输出,减少进程个数,减少一些无关的输出。top查看系统的内存状态[/quote] 不好意思,我还想多问一句,我现在开启4进程之后,top中CPU% 基本都维持在99%左右,请问这是不是会kill掉进程的原因之一?(2核服务器)[/quote] CPU占用很高了。只启动2个试试[/quote] 好的, 谢谢您!
oyljerry 2018-05-07
  • 打赏
  • 举报
回复
引用 4 楼 qq_42141332的回复:
[quote=引用 3 楼 oyljerry 的回复:] [quote=引用 2 楼 qq_42141332 的回复:] [quote=引用 1 楼 oyljerry 的回复:] 会不会进程根本就没有正常结束,或者内存不够时,系统可能会kill你的进程
请问我该如何判断是究竟是出了什么问题呢?我现在有的信息就是nohup中没有写入数据。不好意思,刚刚接触linux系统。还请见谅。[/quote] 逐步排除,比如多增加一些信息输出,在程序已启动的地方就输出,减少进程个数,减少一些无关的输出。top查看系统的内存状态[/quote] 不好意思,我还想多问一句,我现在开启4进程之后,top中CPU% 基本都维持在99%左右,请问这是不是会kill掉进程的原因之一?(2核服务器)[/quote] CPU占用很高了。只启动2个试试
qq_42141332 2018-05-07
  • 打赏
  • 举报
回复
引用 3 楼 oyljerry 的回复:
[quote=引用 2 楼 qq_42141332 的回复:] [quote=引用 1 楼 oyljerry 的回复:] 会不会进程根本就没有正常结束,或者内存不够时,系统可能会kill你的进程
请问我该如何判断是究竟是出了什么问题呢?我现在有的信息就是nohup中没有写入数据。不好意思,刚刚接触linux系统。还请见谅。[/quote] 逐步排除,比如多增加一些信息输出,在程序已启动的地方就输出,减少进程个数,减少一些无关的输出。top查看系统的内存状态[/quote] 不好意思,我还想多问一句,我现在开启4进程之后,top中CPU% 基本都维持在99%左右,请问这是不是会kill掉进程的原因之一?(2核服务器)
oyljerry 2018-05-07
  • 打赏
  • 举报
回复
引用 2 楼 qq_42141332 的回复:
[quote=引用 1 楼 oyljerry 的回复:] 会不会进程根本就没有正常结束,或者内存不够时,系统可能会kill你的进程
请问我该如何判断是究竟是出了什么问题呢?我现在有的信息就是nohup中没有写入数据。不好意思,刚刚接触linux系统。还请见谅。[/quote] 逐步排除,比如多增加一些信息输出,在程序已启动的地方就输出,减少进程个数,减少一些无关的输出。top查看系统的内存状态
qq_42141332 2018-05-07
  • 打赏
  • 举报
回复
引用 1 楼 oyljerry 的回复:
会不会进程根本就没有正常结束,或者内存不够时,系统可能会kill你的进程
请问我该如何判断是究竟是出了什么问题呢?我现在有的信息就是nohup中没有写入数据。不好意思,刚刚接触linux系统。还请见谅。
oyljerry 2018-05-07
  • 打赏
  • 举报
回复
会不会进程根本就没有正常结束,或者内存不够时,系统可能会kill你的进程

37,739

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧