sometimes if you have many users logging on your system, you may see the following errors :
login as: admin admin@10.10.11.10's password: Server refused to allocate pty stty: tcgetattr: A specified file does not support the ioctl system call.
this error means that there are many opened sessions and all of them reach to the maximum number of sessions on your system. in another meaning every system has number of maximum sessions (PTY) that can opened and all users use these PTY. you can check the PTYs using command
#who
.
you can avoid these errors by 2 solutions:
First ONE, increase the Maximum number of session using the following steps :
smitty pty -> Change / Show Characteristics of the PTY
increase the number of “Maximum number of Pseudo-Terminals”
the Second One (which i preferred it), trace the PTYs to know which sessions is not already use, see the following steps:
run command
#who | more
and search for PTS like that
#who|more admin pts/0 Jun 18 15:34 (10.10.10.10) user1 pts/3 Jun 18 14:44 (10.10.10.11) user1 pts/7 Jun 18 15:37 (10.10.10.11) user1 pts/8 Jun 18 15:37 (10.10.10.11) user3 pts/9 Jun 18 15:34 (10.10.10.14) user2 pts/19 Jun 18 08:09 (10.10.10.12) user1 pts/29 Jun 16 08:06 (10.10.10.11) user4 pts/40 Jun 18 15:41 (10.10.10.15) Standard input
if you noticed that, there is no one use the following pts : pts/1,pts/2,pts/4,pts/5,pts/6 ….etc
then change your directory to /dev
#cd /dev fuser PTS_NUMBER
to see who reserve these sessions like this:
#cd /dev #fuser pts/1 pts/1: 15860044 13042426
fuser will list all processes that use the specified file (pts/1), you can search on it with ps command like this :
#ps -ef |grep -i 15860044 user1 15860044 1 0 Mar 22 - 6:26 /usr/bin/ksh topas user1 13042186 15860044 0 15:51:02 - 0:00 sleep 60 sadmin 29885144 60424866 0 15:51:22 pts/0 0:00 grep -i 15860044
you can follow the last steps and kill the unwanted process to free some sessions.
and the reason for this problem because the abnormal close for the sessions using the X icon on the top right and the sessions running some tasks or there are some jobs on background, you must write command exit or press “CTRL + D”.
i hope this article to be useful
Leave a Reply