리눅스에서는.

    FILE *fp; 에서

    fp->_fileno 로 file desctiptor 를 뜻하는 integer  값을 얻을 수 있고

 

반면 윈도우에서는,

  FILE *fp; 에서

  fp->_file 을 사용해야 함


우선 아래 ps 출력을 좀 보고,

root      2743     1  0 Oct15 ?        00:00:00 /usr/sbin/sshd
root     23689  2743  0 14:14 ?        00:00:00 sshd: jdh69 [priv]
jdh69    23691 23689  0 14:14 ?        00:00:00 sshd: jdh69@pts/6
jdh69    23692 23691  0 14:14 pts/6    00:00:00 –bash

여기서 getpgrp() 사용한 놈을 실행 시켜 결과를 좀 뿌리고,

[jdh69@localhost ~]$ ./pidT1
[child] PID : 23844
[child] PPID : 23843
[parent] PID : 23843
[parent] PID of child : 23844
[parent] PPID : 23692
[parent] GID : 23843
[parent] SID : 23692
[child] GID : 23843
[child] SID : 23692
printout data from MSB to LSB: 0 9 0 0
[parent] status is 2304

 

다음 내가 login 한 GID를 살펴보면,

[jdh69@localhost ~]$ cat /etc/group | grep jdh69
jdh69:x:508:

해석을 좀 해보면,

getpgrp()에서 받아오는 Group ID는 process group ID로서

이건 해당 실행파일이 기동하면서 받은 process ID 임을 알 수 있다

그리고 SID는 해당 실행파일이 기동할 때 사용한 shell의 process ID 되겠다

끝으로 /etc/group의 GID는 해당 로그인 계정이 속한 user group의 ID이다

이건 getpgrp()의 결과값과 전혀 관계가 없다!

 

위에서 부터 좀 살펴보면

sshd –> sshd(내 session 처리 위한 사본) –> sshd(내 권한 처리 위한 사본)

-> bash(여기서의 process ID가 getsid()의 결과) –> pidT1(여기서의 process ID가 getpgrp()의 결과)

-> child (pidT1이 fork()해서 만든 process, pidT1과 GID, SID는 같고 PID, PPID는 다르다)



기억력 만으로 처음에

set ts=4

set indent=on

이렇게 적었는데, vim은 2번째 줄에서 불평을 한다.

 

매뉴얼을 보고 다시 넣기를…

set ts=4

set shiftwidth=4

set autoindent

set cindent

 

“set smartindent” 란 것도 있다고 하는데

GNU Tool 들이 워낙 편하다 보니, 이것들에 익숙해지면

AIX, HP/UX에서 작업할때 우울해지므로 만족함을 알고

그치기로 하였습니다