Chinaunix

标题: 有关于批量提交作业的问题 [打印本页]

作者: redpigcool    时间: 2009-04-19 23:20
标题: 有关于批量提交作业的问题
我想用nohup 在服务器上提交任务,假设有10个,但服务器最多一次能运行5个。能不能用perl写一个脚本,先提交前五个,等前五个都运行结束以后在自动提交剩下的5个?
作者: MMMIX    时间: 2009-04-19 23:52
原帖由 redpigcool 于 2009-4-19 23:20 发表
我想用nohup 在服务器上提交任务,假设有10个,但服务器最多一次能运行5个。能不能用perl写一个脚本,先提交前五个,等前五个都运行结束以后在自动提交剩下的5个?

可以。
作者: redpigcool    时间: 2009-04-19 23:54
请问能给以个具体的例子或者代码么?谢谢
作者: MMMIX    时间: 2009-04-20 08:10
原帖由 redpigcool 于 2009-4-19 23:54 发表
请问能给以个具体的例子或者代码么?谢谢

不能。
作者: rainbird2    时间: 2009-04-20 08:52
command &&command
作者: shaneqi    时间: 2009-04-20 10:12
一个命令完了接着下一个?
作者: rainbird2    时间: 2009-04-20 14:10
标题: 回复 #6 shaneqi 的帖子
是的
作者: hotsnow    时间: 2009-04-20 14:13
原帖由 MMMIX 于 2009-4-20 08:10 发表

不能。


老大你就别逗他了,我就猜到你是这样回答的
作者: MMMIX    时间: 2009-04-20 15:03
原帖由 hotsnow 于 2009-4-20 14:13 发表


老大你就别逗他了,我就猜到你是这样回答的

对“你能不能帮我写个 XXX 之类的问题”,我的回答都是“不能”。我比较喜欢的问题是,“我要做某个具体的操作,例如打开文件,不知道怎么做”,或者“要查一个变量或函数,不知道从什么地方查”,或者是对一些语言的特性有疑问,等等,这类问题我会花时间去看。
作者: redpigcool    时间: 2009-04-21 10:32
那我就问一个具体的,我知道shell 里面有stop 这样的命令可以完成这样的工作,请问perl里面有这样的函数么?
作者: MMMIX    时间: 2009-04-21 10:37
原帖由 redpigcool 于 2009-4-21 10:32 发表
那我就问一个具体的,我知道shell 里面有stop 这样的命令可以完成这样的工作,

没有找到 stop 命令(Debian 4),你用的啥 Shell? 啥 OS? stop 的具体功能是啥?(如果它的文档不长的话贴上来看看,如果很长的话光贴开头的描述信息就好了)
作者: redpigcool    时间: 2009-04-21 11:14
不好意思,打错了, 是wait.

这个是shell的脚本:

#for ((i=0;i<$NUM_RUNS;i++)); do

    nohup ...  & // 这里是提交任务的行

    j=$(($i%3))
    #echo "* $i $j"
    if [[ $j == 0 ]] ; then
     wait              //每三个任务就暂停一次
    fi
done

请问一下perl里面的wait函数也可以这么用么?
作者: MMMIX    时间: 2009-04-21 11:57
原帖由 redpigcool 于 2009-4-21 11:14 发表
这个是shell的脚本:

#for ((i=0;i<$NUM_RUNS;i++)); do

    nohup ...  & // 这里是提交任务的行

既然你在后面 wait,那么这里就没有必要用 nohup 了。提交任务在 Perl 中可以用 fork + exec 或者 ``

    if [[ $j == 0 ]] ; then
     wait              //每三个任务就暂停一次
    fi
done

请问一下perl里面的wait函数也可以这么用么?

这个你看看 wait 的文档就清楚了,perldoc -f wait,另外也可以考虑用 waitpid




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2