Hi Reuti,
> Hi,
>
> >> What does $hostname stands for? Do you want the job to start on a
> >> particular machine?
> >
> > Precisely. That is the end goal.
>
> The syntax in SGE to address a particular host is: -l h=$hostname
>
> It's not like ssh where you give just the target. But unless there is a
> bold reason, SGE will usually select an appropriate exechost for you.
> That's the purpose of a queuing system.
Actually, my script will use the "-l hostname=$hostname" expansion when someone
elects to target a specific execution host; but I did not explain that detail.
My apologies.
> >>> qsub: invalid option argument "-l vl"
> >>
> >> Looks like TCL will give the argument as one, but SGE expects two.
> >> Separating them as "-l" and "vl" might work, on the command line the
> >> splitting is done by the shell where $foo will be split but "$foo"
> >> won't and raise an error too. I have no clue whether TCL has an
> >> option `eval` the expression to split the options.
> >
> > I'm not sure I understand: It does appear as if the "-l" and "vl" are
> separated by a space character. Is that not enough?
>
> Not when they are inside a variable: "-l" is the option and "vl" the
> argument to that option. Having "-l vl" is something SGE doesn't understand
> as it should have been broken down. But there is nothing in the TCL
> performing that.
>
> $ foo="-l h=node29"
> $ qsub "$foo" -b y /bin/sleep 5
> qsub: ERROR! invalid option argument "-l h=node29"
> $ qsub $foo -b y /bin/sleep 5
> Your job 277648 ("sleep") has been submitted
>
> And it looks like TCL is forwarding the argument like the content of a
> variable is just one option and not option plus argument.
Ah yes, I understand. And I tried an experiment that processed the args before
passing them to qsub and that did in fact work. I'm not sure how I missed
that; but thanks very much for pointing it out to me!
Best regards,
--
Mun
_______________________________________________
users mailing list
[email protected]
https://gridengine.org/mailman/listinfo/users