Warum werden einige Punkte in AIX nie wiederverwendet?

Warum werden einige Punkte in AIX nie wiederverwendet?

In einem AIX-System (AIX p740 1 7), das seit mehreren Monaten läuft, werden einige Punkte nicht mehr wiederverwendet.

Dies wurde bei der Verwendung des „who“-Befehls mit dem folgenden „awk“-Ausdruck bemerkt, der wochenlang täglich ausgeführt wurde:

who | awk '{ printf "%s %s\n", $2, $1 }' | awk -F'/' '{ printf "%s\n", $2 }' | sort -n | awk 'BEGIN{port=$1} {if (port+0 != $1) {printf "--- FREE PTS: %s - %s\n", port, $1-1}; printf "pts/%s (%s)\n", $1, $2; port=$1+1 }'  

Eine typische Ausgabe zeigt immer pts/14 als frei an und alle anderen Ports, wie 0, 1, 2 usw., wurden über Nacht frei und am nächsten Tag wieder zugewiesen, mit Ausnahme von Port 14 (ich kann nicht weitere Ports untersuchen, die das gleiche Verhalten wie pts/14 aufweisen können, da täglich etwa 600 Ports verwendet werden und die Analyse bei Port 14 endete).

pts/0 (foo)
pts/1 (foo)
pts/2 (foo)
pts/3 (foo)
pts/4 (user12)
pts/5 (bar)
pts/6 (user12)
pts/7 (foo)
pts/8 (user13)
pts/9 (foo)
pts/10 (foo)
pts/11 (foo)
pts/12 (bar)
pts/13 (foo)
--- FREE PTS: 14 - 14
pts/15 (foo)
pts/16 (foo)
pts/17 (user13)
pts/18 (user13)

Gibt es Möglichkeiten, den Grund dafür herauszufinden? Und diesen Port „freizugeben“?

Antwort1

whozeigt nur Logins an. Beispielsweise öffnet tmux/ screenein pty, aber ich glaube, das zählt nicht als Login. Ich glaube, Sie können den Prozess (pid) mit finden fuser /dev/pts/14.

(Ich würde lsofes unter Linux verwenden, aber fuseres sollte auf jedem POSIX-System verfügbar sein).

verwandte Informationen