[gridengine users] some jobs need a pty

Reuti reuti at staff.uni-marburg.de
Tue Nov 12 17:46:43 UTC 2013


Am 12.11.2013 um 17:15 schrieb Mechanic, Daniel:

> Ugh.
> 
> You are correct, I spoke to soon.  I should have said 'my planned workaround'
> 
> This workaround does NOT work.
> 
> If I submit from that host, then yes, it works.
> 
> There does not appear to be a way to start Julia without a pty.

As no job specific SGE variables are defined while the "rsh_command" is started, a lookup in the process tree will help in an "rsh_command wrapper":

#!/bin/sh
MYPARENT=$(ps -p $$ -o ppid --no-header)
MYSTARTUP=$(ps -p $MYPARENT -o command --no-header)
MYCOMMAND=${MYSTARTUP#* }
if [ "$MYCOMMAND" = "julia" ]; then
    exec /usr/bin/ssh -X -T "${@}"
else
    exec /usr/bin/ssh -X -t "${@}"
fi

If there are commands or options after "julia", you have to grep more sophisticatedly for it.

-- Reuti


> Thanks for the other ideas.
> 
> /d
> 
> -----Original Message-----
> From: Reuti [mailto:reuti at staff.uni-marburg.de] 
> Sent: Tuesday, November 12, 2013 3:11 AM
> To: Mechanic, Daniel
> Cc: users at gridengine.org
> Subject: Re: [gridengine users] some jobs need a pty
> 
> Am 12.11.2013 um 00:26 schrieb Mechanic, Daniel:
> 
>> Thanks, but  no; exact same behavior.
>> 
>>> <snip>
>>> "qrsh -pty y" appears to have no effect.
>>> 
>>> I know I can override 'rsh_command' on a particular execute host.  This is my current workaround, to make all Julia jobs go to a node with rsh_command set with a '-t'.  
> 
> I wonder why this is working. The rsh_command will be used on the source machine, and the defined rsh_daemon on the target side. Hence setting rsh_command for an execution only host shouldn't change the setting, as on the source machine the global or locally defined rsh_command for itself will be used. Imagine a submission machine with Solaris, and the execution host running Linux. The defined path to rsh_command will be used from the setting for the Solaris machine, as the path on Linux might be different. As long as rsh_command starts something on the source machine, what is accepted by rshd_daemon on the target side, you can make a connection.
> 
> http://arc.liv.ac.uk/SGE/htmlman/htmlman5/remote_startup.html ("LOCAL CONFIGURATIONS OF EXECHOSTS")
> 
> Another way of setting options could be the ~/.ssh/config (resp. /etc/ssh/ssh_config) file, but it would be necessary to change its content before each invocation of `ssh`. It could also be coded for each particular machine there, but not per application.
> 
> -- Reuti
> 
> PS: I don't know these applications, maybe it could also be changed during their particular startup by an option.
> 
> 
>>> Is this the only way?
>>> 
>>> Thank You!!
>>> 
>>> Best,
>>> Dan
>>> 
>>> 
>>> _______________________________________________
>>> users mailing list
>>> users at gridengine.org
>>> https://gridengine.org/mailman/listinfo/users
>> 
>> 
> 
> 





More information about the users mailing list