What will be the effect of environment variable, when mulitple sessions are opened by same login?

 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers What will be the effect of environment variable, when mulitple sessions are opened by same login?
# 1  
Old 09-13-2016
HP What will be the effect of environment variable, when mulitple sessions are opened by same login?

Hello,

What will be the effect of environment variable, when mulitple sessions are opened by same login?

Following code snippet is part of a shell script.

Environment : HP-UX B.11.31 U ia64

For Example
Code:
 EXECUTION_DIR=`pwd`/
EXECUTION_DIR_RT=${EXECUTION_DIR}RT/
export EXECUTION_DIR_RT

Question:
If there multiple sessions opened on the same host by the same user login , to execute shell script in parallel, what will be the effect?

Ultimatly need to ensure that each session uses it's own execution directory.

However I am getting the execution directory are messed up, due to multiple session opened by the same user login and script are executed concurrently.

Thanks for your answers, views and suggestion in advance.
# 2  
Old 09-13-2016
Each session will keep it's own version of the environmental variable and it's value. There could be contention if you are writing files of the same name to the same directory I suppose, but processes of one session cannot generally be affected by those in another, even if it is the same user account.

If you need to ensure they work with separate directories, you could do this:-
Code:
my_dir=$(mktemp -d)

This will create a unique directory in /tmp. You can change that if you like to create a unique directory under a path you specify, especially if your files are large or the data is sensitive:-
Code:
my_dir=$(mktemp -d /path/to/base/dir)


I hope that this helps,
Robin
# 3  
Old 09-13-2016
One solution is to create an execution directory dynamically for each login.
Code:
pid=$$
EXECUTION_DIR=`pwd`/${pid}/  # < directory with current process pid
[ ! -d ${EXECUTION_DIR} ] && mkdir ${EXECUTION_DIR}

This tests to see if the directory exists, and if it does not exist create one.

[edit] oops rbatte1 types fast!.
This User Gave Thanks to jim mcnamara For This Post:
# 4  
Old 09-13-2016
Thanks jim mcnamara rbatte1.

After creating the directory based on the Process ID ( pid=$$ ), if I want to move the output files from the respective Process ID folder to some other directory, how can I make it.

Code:
 For Process 1:
 Like IF { Process_ID == $$ ) mv ${EXECUTION_DIR}\*  \Ouptut1\
  
 For Process 2:
 Like IF { Process_ID == $$ ) mv ${EXECUTION_DIR}\*  \Ouptut2\

Thanks, Siva SQL
# 5  
Old 09-14-2016
As the process ID doesn't change during a session, you don't need the if construct. And, you need a mechanism to assign the output directory number. Something like counting up a counter, or determine the last directory's number and increment that.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Non-interactive & non-login shell environment?

Hello and thanks in advance for any help anyone can offer to straighten me out on this subject I'm trying to understand non-interactive & non-login shells and having a hard time conceptualize the process a non-interactive & non-login shell goes through to start up. Particularly for background... (7 Replies)
Discussion started by: bodisha
7 Replies

2. Solaris

How to search for the sessions that have a certain environment variable set?

Hi all, In Solaris 10, is there a way to search for the sessions that have a certain environment variable set? (8 Replies)
Discussion started by: ejianu
8 Replies

3. UNIX for Advanced & Expert Users

Can adding to a new group be effective in current login environment without re-login?

Hey folks, When a user is added to a new group, the user has to be log out and log in again to make the new group effective. Is there any system command or technique to refresh user group ID update without re-login? I am not talking about to use "login" or "su -l" commands which can only make... (2 Replies)
Discussion started by: hce
2 Replies

4. AIX

3004-312 All available login sessions are in use.

Hello, I have a strange situation here. I am running an AIX6.1 machine and i face a problem when i am trying to login via telnet. When i use my username and password to login to the server i get the following message: 3004-312 All available login sessions are in use. The weird thing is that... (3 Replies)
Discussion started by: omonoiatis9
3 Replies

5. Shell Programming and Scripting

File exists, but cannot be opened.How to check- whether it could be opened to read when it exists

Hi #Testing for file existence if ; then echo 'SCHOOL data is available for processing' else echo 'SCHOOL DATA IS NOT AVAILABLE FOR PROCESSING' : i wrote a script, where it begins by checking if file exists or not. If it exists, it truncates the database... (2 Replies)
Discussion started by: rxg
2 Replies

6. UNIX for Dummies Questions & Answers

Can't login to a free shell environment

I would like to practice shell scripting and need an environment - free shell account. I tried Arbornet and the freeshell.org. But both always give me error: "File operations disabled, server identity can't be verified". Any idea what I should do? thanks in advance. (9 Replies)
Discussion started by: laiko
9 Replies

7. Shell Programming and Scripting

Expand an environment variable in sed, when the variable contains a slash

I'm trying to make a sed substitution where the substitution pattern is an environment variable to be expanded, but the variable contains a "slash". sed -e 's/<HOME_DIRECTORY>/'$HOME'/'This gives me the following error: sed: -e expression #1, char 21: unknown option to `s'Obviously this is... (2 Replies)
Discussion started by: Ilja
2 Replies

8. Linux

Unable to login with root for more than 2 sessions

Hi, I am unable to login with root for more than 2 sessions. Plz help any thing need to updated? Suresh (2 Replies)
Discussion started by: suresh3566
2 Replies

9. AIX

AIX Login sessions

In AIX v5.2 is there a way to restrict the number of telnet sessions for a particular user ? Say, i want restrict the number of simultaneous telnet session for a particular user to be 3. How do i achieve this. Appreicate your help (1 Reply)
Discussion started by: rramanuj
1 Replies

10. UNIX for Advanced & Expert Users

remote startup of login & sessions

Hello All, I would like to know if anyone has done or has information on how to start a workstation up form another remote station. For example I am sitting at station A and I want to start up a session on station B, setting display to output on station B "0.0". Here is the tricky part station... (2 Replies)
Discussion started by: larry
2 Replies
Login or Register to Ask a Question