BookmarkSubscribeRSS Feed
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.
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?
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.

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



Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.

If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website. 

Register now!

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.

Get the $99 certification deal.jpg



Back in the Classroom!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 3 replies
  • 4 in conversation