This is not a solution; just posting here to save somebody else from
wasting time on what I thought was the obvious way.

The useless idea was to examine (in C programming terminology) argv[0].
Experimentation shows that its value is plain, unadorned LIBRARY/PROGRAM
from both calling mechanism.

Hope this (in a negative way) helps.
Terry.


On Thu, 2009-09-24 at 11:01 +1000, Simon Coulter wrote:
Does any one have a better idea of how to determine beyond a shadow of
a doubt from within a program that it is running within the QSHELL
environment?

I have a program that can run normally via the CALL command or within
QSH via a symbolic link. I want the default output to be different
depending on where it is running. I do not want the user to have to do
anything special external to the program. It must be transparent.

My current thoughts are:

o getppid() to locate the parent process ID
o Qp0wGetJobID() to get qualified job name for the parent pid
o if parent job name is QZSHSH then running in QSHELL

I expect this will work as I want when the program is invoked from the
QSH command line but I think if it is used in a sequence of commands
via indirection (e.g., find -> grep -> mypgm -> something else) then I
think multiple jobs are spawned and the parent might not be QZSHSH.

Ideas?

Might be a few days before I get to address this issue again.

Regards,
Simon Coulter.
--------------------------------------------------------------------
FlyByNight Software OS/400, i5/OS Technical Specialists

http://www.flybynight.com.au/
Phone: +61 2 6657 8251 Mobile: +61 0411 091 400 /"\
Fax: +61 2 6657 8251 \ /
X
ASCII Ribbon campaign against HTML E-Mail / \
--------------------------------------------------------------------





As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2021 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.