2015-12-24 24 views
-1

我需要根据调度程序的类型运行不同的脚本,这需要一种可靠的方法来检测调度程序是否是Torque,SGE或其他。就像$ SHELL告诉我正在使用哪个shell。或者像名字一样。如何检测我使用的HPC调度程序(Torque,Sun Grid Engine等)?

我知道environmental variables这两个系统设置,但他们不会给我一个可靠的或一个优雅的方式 - 给定env的命令。变量被命名为相似或相同的..需要几个ifs和buts,然后才能断定它是哪一个。

+0

其中的每一个都会导出一组环境变量。找那些人看看用什么调度器来启动你的工作。或者只是阅读系统的文档。 – Jeff

+0

好吧,我知道这些,他们不给我一个**可靠的**或一个优雅的方式 - 给出env的命令。变量被命名为相似或相同的..需要几个ifs和buts,然后才能断定它是哪一个。 –

回答

1

在您的.bashrc中明确设置一个环境变量,您可以稍后查询。

例如

export RUNNING_ON="moms_gpu_cluster5" 
export THIS_SYSTEMS_SCHEDULER="SGE" 

您不必依赖sysadmin提供给您的东西,或者调度程序执行或不执行的操作。

+0

谢谢,我更喜欢一种自动方法,它可以帮助我从系统配置中获取它,而不依赖于用户设置。 –

相关问题