Parallel processing GNU并行以交互方式在脚本中运行,但不是通过crontab在同一脚本中运行

Parallel processing GNU并行以交互方式在脚本中运行,但不是通过crontab在同一脚本中运行,parallel-processing,cron,crontab,gnu-parallel,Parallel Processing,Cron,Crontab,Gnu Parallel,我使用GNU并行版本20141122在一个更大的脚本中并行卷曲100个IP地址 当我以交互方式执行脚本时,Parallel会在日志文件中生成预期的结果 当我通过crontab作业运行同一个脚本时,不会向日志文件添加任何条目,尽管脚本的其余部分会为所有非并行相关任务生成预期结果 脚本中并行执行的行是 parallel -j30 < contactdevices.input contactdevice.sh卷曲IP地址并将一行结果附加到日志文件中 我的AmazonAMI环境支持40多个这样的

我使用GNU并行版本20141122在一个更大的脚本中并行卷曲100个IP地址

当我以交互方式执行脚本时,Parallel会在日志文件中生成预期的结果

当我通过crontab作业运行同一个脚本时,不会向日志文件添加任何条目,尽管脚本的其余部分会为所有非并行相关任务生成预期结果

脚本中并行执行的行是

parallel -j30 < contactdevices.input
contactdevice.sh卷曲IP地址并将一行结果附加到日志文件中

我的AmazonAMI环境支持40多个这样的并发作业

为什么当以交互方式运行时,并行在我的脚本中工作,但当通过crontab执行相同的脚本时,并行似乎根本不运行


谢谢你的帮助。我基本上是linux和bash新手。

通常
cron
的问题是您的$PATH有限。尝试设置:

PATH=/usr/bin:/bin:/the/dir/containing/contactdevice


然后移除。/

用户的bin文件夹中安装了
并行
实用程序,而不是
/usr/bin
。在
/usr/bin
中安装该实用程序解决了问题。或者,我们可以通过在调用时指定
parallel
的位置来解决此问题。

感谢您的回复,Ole。我还有其他脚本,它们是通过与cron一起工作的主脚本中的./mechanism调用的。我可以尝试PATH,但由于其他脚本的成功,我怀疑问题出在其他方面。衍生进程限制?子进程限制?如果您被限制为少于30个进程,那么您的系统将严重受损。如果是这样的话,-j1应该可以工作,所以它是$PATH。将用户的bin添加到$PATH可能也会起作用。
./contactdevice.sh  155.156.157.158