BookmarkSubscribeRSS Feed
Devel
Calcite | Level 5
For example. The server is unix and one user request to kill his session on server side. Because server session is running by sassrv, how I determine which session belonge to whom? Thanks in advance.
3 REPLIES 3
deleted_user
Not applicable
I have a keen interest in this question, too.

Who at SAS Institute has the answer?

If there is no answer/solution, why was such an architecture implemented? And why were certain features (e.g., multiple-value input and streaming output) limited to the Stored Process Server and denied to the WorkSpace Server?
Andrea_SAS
SAS Employee
Hi Devel, the stored process server is a multi-user process (like olap server) and the way it works it's very similar to the "old" sas/Intrnet application server.
Said that, in a specific moment an user is using or connecting to the server.
The load distribution is done by the object spawner that dispatch the requests to the 3 (or more) sassrv processes.
Now I come back to your initial question, in 9.1.3 there is no administrative interface for the Store Process Server like for the Olap server, so you can't kill a specific user's session.
If you are experiencing hangs of the stp server you need to try to understand what's wrong with the submitted code enabling the trace of the server and obviously you can also contact the Technical Support.

Andrea
LeRoyBessler
Obsidian | Level 7

If today, nearly six and one-half years later, there is still no easy solution to this, here is something that can help.

Modify the stored process to include code for the user to send an email to herself/himself. That message could include the Process ID (PID) as well as any other useful information to identify the Stored Process. You simply need to use the automatic macro variable SYSJOBID.

From SAS Companion for Windows:

SYSJOBID returns a number that uniquely identifies the SAS task under Windows.

If running SAS on a standalone PC, you can use the Windows tasklist command to verify that SYSJOBID is the Windows Process ID (PID) for your SAS session.

From SAS Companion for UNIX:

SYSJOBID lists the process identification number (PID) of the process that is executing SAS (for example, 00024).

The above documentation excerpts prompt for me this question:

What is the justification for the misleading name on the automatic macro variable called SYSPROCESSID?

If you display it in your SAS log with a %PUT command, you will get a 32 character hexadecimal string such as 41D96EED34F0D4FE4018000000000000

It does NOT translate into the Windows or UNIX SYSJOBID, which IS the Process ID.

In every case, the last 12 characters are zeroes.

Back on subject, if a user has a problem with a Stored Process, the email to the user (from the Stored Process) containing the Process ID will furnish the needed information to pass on to the SAS Administrator or the Windows/Unix Administrator, who can kill the process.

(Of course, if the Stored Process were running under the ID of the user, then the user could kill the process.)

For some references on managing, monitoring, and controlling SAS processes on SAS servers (or on a standalone PC), see
http://support.sas.com/resources/papers/proceedings10/279-2010.pdf
and
http://support.sas.com/resources/papers/proceedings09/274-2009.pdf

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 3 replies
  • 8442 views
  • 0 likes
  • 4 in conversation