Event ID 2012 — Psxrun Availability

Applies To: Windows Server 2008 R2

Subsystem for UNIX-based Applications (SUA) Psxrun Availability indicates the ability of the Psxrun utility to start and run SUA processes.

Problems that can occur with Psxrun Availability include API call failures, incorrect path names or command line parameters, and low virtual memory.

Event Details

Product: Windows Subsystem for UNIX-based Applications
ID: 2012
Source: Microsoft-Windows-SUA-Psxrun
Version: 6.0
Message: There are too many terminal sessions open. Subsystem for UNIX-based Applications is unable to open additional terminal sessions.


Close unused SUA terminal applications

This error occurred because Subsystem for UNIX-based Applications (SUA) is running the maximum supported number of terminal sessions (the current limit is 64 terminals).

The error message in Event Viewer should indicate the type of terminals for which the session limit has been reached. Close as many SUA applications as possible that are using this terminal type.

In a shell window, enter the ps command to list SUA applications that are running, and use the kill command with the appropriate process IDs to close terminals that are no longer required.

The following is an example of the ps command. The -A flag is used to display all processes that SUA is running.

ps -A

The results of the ps command list all running processes and display their process ID numbers (PIDs) and terminal types (TTY). Match the terminal type specified in the error message with the terminal types in the ps command results. You can use the kill command with a specific PID to stop that process, as shown in the following example. The -9 in the example is one of seven different signal numbers you can provide with the kill command to specify how you want SUA to stop the process; for example, whether you want the process terminated completely, or suspended temporarily.

kill -9 2049


Because multiple instances of Psxrun can be running at once, it is best to verify Psxrun in Windows Task Manager not by checking on a particular instance of Psxrun, but by verifying that the specific POSIX process or application launched by using Psxrun is running.

To verify that Psxrun is running:

  1. Open Windows Task Manager by pressing CTRL+ALT+DEL, and then clicking Start Task Manager.
  2. On the Processes tab, select the Show processes from all users check box.
  3. Verify that a specific POSIX process you have started by using Subsystem for UNIX-based Applications is running.

If the POSIX application or process that has been launched by using Psxrun is indicated as running in Task Manager, then Psxrun is fully available. If the process is not running, critical errors are preventing Psxrun from being available.

Psxrun Availability

Subsystem for UNIX-based Applications