What I've got
- Process 1 (not SAS) calls process 2 (SAS) synchronous
- Once process 2 complete, process 1 does a few more things
What I need
- Call from process 2 some 3rd process (a SAS program) that only executes once process 1 is complete (not pretty but a simple sleep() will do to ensure that process 1 finished).
Challenge
SAS process 2 needs to finish (feed back to process 1 that finished) even though SAS child process 3 is still executing.
I've tried to call this process 3 using rsubmit asynchronous but it appears the #2 SAS process is still waiting for #3 to finish before it "tells" #1 that it's done.
What I need is a way where #2 doesn't wait before it tells #1 that it's done.
Right now "best" I could do is for #2 not to wait - but this then also terminated the #3 child process with error as it wasn't done yet.
The only idea I've had so far that might work is for #2 to create a token file used by a scheduler as trigger to start #3. ....but I'd prefer to call #3 via rsubmit or some X command or similar.
Any suggestions based on actual implementation experience highly welcome.
And: The way Process #1 and #2 interact is not under my control and can't be changed.
Environment: A current SAS9.4 version under RHEL, no lsf.
Have you tried launching a system command with ampersand and either nohup or maybe disown ? See here
@ChrisNZ Haven't tried that yet but certainly worth doing.
What do you mean by "a system command with ampersand"? Anything different from an X command or similar?
Sorry if my wording was a bit too terse. I meant this.
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.