我这样运行parallel
,从而抽象出一些细节:
generate_job_list | parallel -j10 -q bash -c 'echo -n "running {}" ; dostuff {}'
我注意到有时parallel
产生的子进程死于收到SIGKILL的情况(我知道,因为dostuff
是运行真空的psql
命令,而Postgres日志告诉我命令收到SIGKILL)。我没有设置超时时间,所以我不知道该怎么做。子进程运行了几个小时后,就会发生这种情况。
parallel
是否有默认超时(文档似乎没有建议超时)或其他任何可能的原因提示?
ETA :添加一些有助于我在问题正文中找到答案的内容,因为它可能会帮助遇到相同问题的其他人找到此问题。
在您的Postgres日志中,您应该找到一些类似这样的消息:
LOG: received smart shutdown request
LOG: autovacuum launcher shutting down
FATAL: the database system is shutting down
即使您不要求Postgres关闭也会生成该文件。
答案 0 :(得分:0)
因此,如评论中所述,问题是OOM杀手kill。我通过做几件事来解决它: