Maybe you're getting the  "standard in must be a tty"  error note due to 
using "su" but because the db2 command is asking you to respond to a 
prompt?

Does the following work (e.g. running the env command instead of a db2 
command) and not return the "standard in must be a tty" error ?

# STAF local PROCESS START SHELL "su - %u -c %C" COMMAND :3:env USERNAME 
db2inst1 RETURNSTDOUT STDERRTOSTDOUT WAIT

Does the following work?  It adds /home/db2inst1/sqllib/bin, 
/home/db2inst/sqllib/adm, and /home/db2inst1/sqllib/misc to the PATH 
environment variable for this process and sets the DB2INSTANCE environment 
variable to db2inst1 (these are things done by sourcing 
/home/db2inst1/sqllib/db2profile) and specifies the entire command via the 
COMMAND option (doesn't use the PARMS option)?.

# STAF local PROCESS START SHELL "su - %u -c %C" COMMAND 
"/home/db2inst1/sqllib/bin/db2 list database directory" USERNAME db2inst1 
ENV 
"PATH=/home/db2inst1/sqllib/bin:/home/db2inst1/sqllib/adm:/home/db2inst1/sqllib/misc:{STAF/Env/PATH}"
 
ENV "DB2INSTANCE=db2inst1" RETURNSTDOUT STDERRTOSTDOUT STDIN 
/tmp/empty.txt WAIT

Note:  /tmp/empty.txt is an empty file that you already created on the 
machine where the process is being run)

If that doesn't work, perhaps /home/db2inst1/sqllib/db2profile  needs to 
be run (as it is automatically if you log on as the db2inst1 user) before 
the db2 command can be run.  I googled and found "Before you can issue DB2 
commands on UNIX systems, you must first set up the environment by 
sourcing the db2profile". Maybe try the following:

# STAF local PROCESS START SHELL "su - %u -c %C" COMMAND 
"/home/db2inst1/sqllib/db2profile; /home/db2inst1/sqllib/bin/db2 list 
database directory" USERNAME db2inst1 RETURNSTDOUT STDERRTOSTDOUT STDIN 
/tmp/empty.txt WAIT

or

# STAF local PROCESS START SHELL "su - %u -c %C" COMMAND ". 
/home/db2inst1/sqllib/db2profile; /home/db2inst1/sqllib/bin/db2 list 
database directory" USERNAME db2inst1 RETURNSTDOUT STDERRTOSTDOUT STDIN 
/tmp/empty.txt WAIT

Or maybe need to run db2start before the db2 command can be run.  Maybe 
try the following:

# STAF local PROCESS START SHELL "su - %u -c %C" COMMAND 
"/home/db2inst1/sqllib/bin/db2start; /home/db2inst1/sqllib/bin/db2 list 
database directory" USERNAME db2inst1 ENV 
"PATH=/home/db2inst1/sqllib/bin:/home/db2inst1/sqllib/adm:/home/db2inst1/sqllib/misc:{STAF/Env/PATH}"
 
ENV "DB2INSTANCE=db2inst1" RETURNSTDOUT STDERRTOSTDOUT STDIN 
/tmp/empty.txt WAIT

--------------------------------------------------------------
Sharon Lucas
IBM Austin,   luc...@us.ibm.com
(512) 286-7313 or Tieline 363-7313




From:   <sanjeev.lohc...@emc.com>
To:     David Bender/Austin/IBM@IBMUS
Cc:     staf-users@lists.sourceforge.net
Date:   04/14/2011 11:57 PM
Subject:        Re: [staf-users] Starting a process with different user on 
Linux (RHEL4)



Hi David,
 
I had tried this solution.
I had commented the "Defaults                requiretty" line in 
/etc/sudoers.  But with that also it has not solved the problem
 
Also I tried creating /tmp/test.out and passed it to STDIN, but still the 
problem persists:
 
[root@rhel5-db2-97 ~]# staf local process start shell "su - %u -c %C" 
command "/home/db2inst1/sqllib/bin/db2" parms "list database directory" 
username db2inst1 returnstdout returnstderr wait STDIN /tmp/test.out
Response
--------
{
  Return Code: 1
  Key        : <None>
  Files      : [
    {
      Return Code: 0
      Data       :
    }
    {
      Return Code: 0
      Data       : standard in must be a tty
 
    }
  ]
}
 
Still searching for the solution.
 
Regards
Sanjeev
 
 
From: David Bender [mailto:bda...@us.ibm.com] 
Sent: Thursday, April 14, 2011 7:30 PM
To: Lohchab, Sanjeev
Cc: staf-users@lists.sourceforge.net
Subject: Re: [staf-users] Starting a process with different user on Linux 
(RHEL4)
 
I found the following site that describes this error and some possible 
solutions:

http://superuser.com/questions/119376/bash-su-script-giving-an-error-standard-in-must-be-a-tty


You could also try creating an empty file on the machine where the process 
is executing (for example /tmp/stdin.txt) and then add the STDIN option to 
your PROCESS START, and see if that makes any difference. For example:

staf local process start shell "su - db2inst1 -c %C" command 
"/home/db2inst1/sqllib/bin/db2" parms "list database directory" username 
db2inst1 returnstdout returnstderr wait STDIN /tmp/stdin.txt

Thanks, 
David 

David Bender 
STAF/STAX Development 
IBM Software Group, WPLC 
11501 Burnet Rd. 
Bldg. 903-5B002 
Austin, TX 78758-3400 
Phone (T/L): 1-512-286-5315 (363-5315) 
ITN: 23635315 
Email: bda...@us.ibm.com 
 



---04/14/2011 05:50:36 AM---I tried without the "su -", but the command 
fails since the command has to be run as db2inst1 and si


From:

<sanjeev.lohc...@emc.com>

To:

<stefano.guandal...@gmail.com>, <staf-users@lists.sourceforge.net>

Date:

04/14/2011 05:50 AM

Subject:

Re: [staf-users] Starting a process with different user on Linux (RHEL4)




I tried without the "su -", but the command fails since the command has to 
be run as db2inst1 and since the staf is running as root.  So I have only 
this workaround to run with su - option.

Regards
Sanjeev

-----Original Message-----
From: Stefano Guandalini [mailto:stefano.guandal...@gmail.com] 
Sent: Thursday, April 14, 2011 4:02 PM
To: staf-users@lists.sourceforge.net
Cc: Lohchab, Sanjeev
Subject: Re: [staf-users] Starting a process with different user on Linux 
(RHEL4)

Have you tried the same without the "su - db2inst1 - ..." part?
I'm not using the internal staf process service, but I know that the STAX 
process tag is using it and I'm not using the "su - username" in command 
tag.

On Thursday 14 April 2011 12:14:29 sanjeev.lohc...@emc.com wrote:
> Hi,
> 
> I am automating the DB2 interface to our product.
> 
> I have started the staf as root, now I am trying to run the DB2 commands
> using staf process.  I ran the following command:
> 
> staf local process start shell "su - db2inst1 -c %C" command
> "/home/db2inst1/sqllib/bin/db2" parms "list database directory" username
> db2inst1 returnstdout returnstderr wait
> 
> but it is giving error:
> 
> Response
> --------
> {
>   Return Code: 1
>   Key        : <None>
>   Files      : [
>     {
>       Return Code: 0
>       Data       :
>     }
>     {
>       Return Code: 0
>       Data       : standard in must be a tty
> 
>     }
>   ]
> }
> 
> I tried googling for this error, but couldn't get any help.  I would
> appreciate if any of the experts help me in resolving this issue.
> 
> Regards
> Sanjeev
> 
> 
> 
---------------------------------------------------------------------------
> --- Benefiting from Server Virtualization: Beyond Initial Workload
> Consolidation -- Increasing the use of server virtualization is a top
> priority.Virtualization can reduce costs, simplify management, and 
improve
> application availability and disaster protection. Learn more about 
boosting
> the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
> _______________________________________________
> staf-users mailing list
> staf-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/staf-users
-- 
Stefano Guandalini
Mobile Quality Assurance
Dada.net S.p.A.
+393666000995
stefano.guandal...@gmail.com


------------------------------------------------------------------------------
Benefiting from Server Virtualization: Beyond Initial Workload 
Consolidation -- Increasing the use of server virtualization is a top
priority.Virtualization can reduce costs, simplify management, and improve 

application availability and disaster protection. Learn more about 
boosting 
the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
_______________________________________________
staf-users mailing list
staf-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/staf-users
------------------------------------------------------------------------------
Benefiting from Server Virtualization: Beyond Initial Workload 
Consolidation -- Increasing the use of server virtualization is a top
priority.Virtualization can reduce costs, simplify management, and improve 

application availability and disaster protection. Learn more about 
boosting 
the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
_______________________________________________
staf-users mailing list
staf-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/staf-users

<<image/gif>>

<<image/png>>

<<image/png>>

<<image/png>>

<<image/png>>

<<image/png>>

<<image/png>>

<<image/png>>

<<image/png>>

------------------------------------------------------------------------------
Benefiting from Server Virtualization: Beyond Initial Workload 
Consolidation -- Increasing the use of server virtualization is a top
priority.Virtualization can reduce costs, simplify management, and improve 
application availability and disaster protection. Learn more about boosting 
the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
_______________________________________________
staf-users mailing list
staf-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/staf-users

Reply via email to