Terminal

如何在 AIX 中獲取給定後台程序(無需登錄)的打開 pty

  • May 17, 2016

使用這個答案https://unix.stackexchange.com/a/283521/114939,我們可以找到在沒有登錄的情況下保持給定 pty 打開的程序(who命令無法顯示它們),這讓我反問。

如何獲取 AIX 系統中給定程序的已打開 pty?(對於那些在後台啟動且未“附加”到終端/pty 登錄的使用者)。

AIX 有一個/proc文件系統(從大約 5.1 開始?),您可以使用procfiles 列出pid 的打開文件描述符:

$ procfiles -n 15502
15502 : /home/guest/test 
 Current rlimit: 2000 file descriptors                                 
  0: S_IFCHR mode:0622 dev:10,4  ino:2584 uid:100 gid:100 rdev:28,1
 O_RDONLY
  1: S_IFCHR mode:0622 dev:10,4  ino:2584 uid:100 gid:100 rdev:28,1
 O_RDONLY
  2: S_IFCHR mode:0622 dev:10,4  ino:2584 uid:100 gid:100 rdev:28,1
 O_RDONLY
  3: S_IFREG mode:0644 dev:10,7  ino:26 uid:100 gid:100 rdev:0,0       
 O_RDONLY size:0  name:/tmp/foo

對於像 pty 這樣的開放設備,只給出了 inode 和主要/次要編號,但您應該能夠輕鬆地將這些與簡單的ls -l /dev/pts/.

您還可以安裝AIX Toolbox for Linux Applications,然後使用該lsof命令。

引用自:https://unix.stackexchange.com/questions/283651