AIX에서 (로그인 없이) 주어진 백그라운드 프로세스에 대해 열린 pty를 얻는 방법

AIX에서 (로그인 없이) 주어진 백그라운드 프로세스에 대해 열린 pty를 얻는 방법

이 답변을 사용하여https://unix.stackexchange.com/a/283521/114939로그인 없이 특정 pty를 열어 두는 프로세스를 찾을 수 있게 해주는( who명령어로 표시할 수 없음) 그 반대의 질문을 하게 되었습니다.

AIX 시스템에서 특정 프로세스에 대해 열린 pty를 얻는 방법은 무엇입니까? (백그라운드에서 실행되고 터미널/pty 로그인에 "연결"되지 않은 경우)

답변1

AIX에는/proc 파일 시스템(약 5.1 이후)이 있으며 다음을 사용하여 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/.

다음을 설치할 수도 있습니다.Linux 애플리케이션용 AIX 도구 상자그런 다음 lsof명령을 사용하십시오.

답변2

XXX인 경우pid

file /proc/XXX/fd/* | grep /dev/pt

그러나 프로세스가 여러 역할(예: stdin stdout 및 stderr)에 대해 열려 있는 경우 pty당 여러 줄을 얻게 됩니다.

그러나 AIX가 마지막으로 사용한 이후로 많이 변경되지 않는 한 AIX와 Linux에는 도움이 되지 않을 것 같습니다.

관련 정보