리눅스 프로그래밍에서... 자식 프로세서의 UID값을 부모 프로세서가 계속 적 으로 확인할수는 없나여??
훔.. 자식프로세서가.. 각각 다른 메모리를 쓰고 있어서.. ㅠ.ㅠ 힘드네영 헐~~ ㅡ.,ㅡ^ 혹시 좋은 방법이라도 알고 계시는분??
fork가 이루어지후 부모는 자식 프로세스의 pid를 리턴 값으로 받습니다.
이 값을 관리하는 알고리즘을 만드셔야합니다.
ps. sigchld를 받았을때는 죽은 자식의 pid를 정리해 주어야겠죠/
pid ㅠ.ㅠ.. 자식의 uid값을 알고 싶은건데영 ㅡ.,ㅡ^ ㅡ.,ㅡ;; 죄송하지만 자세한 대답좀..ㅠ.ㅠ.
먼저 부모는 fork전에 자식의 종료 signel을 감시하고요 [ signal(SIGCHLD, ChildDown); ] 자식이 종료 되면은 ChildDown함수에서 자식들이 좀비가 되지 않게 정리(wait, waitpid ..)를 하고요.
실행중에는 "/proc/pid"의 상태를 Check하심이 좋을 듯... ex) int chkproc(int id) { struct stat st; char cmd[128];
sprintf(cmd, "/proc/%d", id); if(stat(cmd, &st) != 0) { if(errno == EACCES) { printf("Process Not Access Owner Err [%d]\n", id); } else return(-1); }
return(1); }
재가 알기론 UID값은... 부모프로세스와 자식프로세스 같은 값으로 알고 있습니다.
UID란 User ID가 아닌가여???
일반적으로 같지만.. set user id 가 설정된 경우에는 바뀔수가 있죠.^^..
setuid()를 사용하면 바꿀수 있지여 *^^*
그리고 uid를 알고자 하는 함수도 있지요.. getuid() 차일드 프로세스에서 이 함수로 얻어서.. IPC를 사용하여 부모프로세스에게 전달해주면 질문하신 님이 구하고자하는 값을 구할수 있지 않을까 하네여 ^^
무자식이 상팔자라... 자식넘이 원래 부모말을 잘안듣자나요....ㅡ,.ㅡ;;
훌.. 아래 답변들이 많네요....^^;;
자식 이기는 부모 없다고도 하죠. 6^^;;
케케켁~
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
Re: [질문] 부모 프로세스가 자식 프로세스의 UID값..
fork가 이루어지후 부모는 자식 프로세스의 pid를 리턴
값으로 받습니다.
이 값을 관리하는 알고리즘을 만드셔야합니다.
ps. sigchld를 받았을때는 죽은 자식의 pid를 정리해 주어야겠죠/
Re^2: [질문] 부모 프로세스가 자식 프로세스의 UID값..
pid ㅠ.ㅠ..
자식의 uid값을 알고 싶은건데영 ㅡ.,ㅡ^
ㅡ.,ㅡ;; 죄송하지만 자세한 대답좀..ㅠ.ㅠ.
Re: [질문] 부모 프로세스가 자식 프로세스의 UID값..
먼저 부모는 fork전에 자식의 종료 signel을 감시하고요
[ signal(SIGCHLD, ChildDown); ]
자식이 종료 되면은 ChildDown함수에서 자식들이 좀비가
되지 않게 정리(wait, waitpid ..)를 하고요.
실행중에는 "/proc/pid"의 상태를 Check하심이 좋을 듯...
ex)
int chkproc(int id)
{
struct stat st;
char cmd[128];
sprintf(cmd, "/proc/%d", id);
if(stat(cmd, &st) != 0) {
if(errno == EACCES) {
printf("Process Not Access Owner Err [%d]\n", id);
}
else return(-1);
}
return(1);
}
Re^3: [질문] 부모 프로세스가 자식 프로세스의 UID값..
재가 알기론 UID값은...
부모프로세스와 자식프로세스 같은 값으로 알고 있습니다.
UID란 User ID가 아닌가여???
Re^4: [질문] 부모 프로세스가 자식 프로세스의 UID값..
일반적으로 같지만.. set user id 가 설정된 경우에는 바뀔수가 있죠.^^..
Re^5: [질문] 부모 프로세스가 자식 프로세스의 UID값..
setuid()를 사용하면 바꿀수 있지여 *^^*
그리고 uid를 알고자 하는 함수도 있지요..
getuid()
차일드 프로세스에서 이 함수로 얻어서..
IPC를 사용하여 부모프로세스에게 전달해주면
질문하신 님이 구하고자하는 값을 구할수 있지 않을까 하네여 ^^
Re: 그래서 옛 속담에는...
무자식이 상팔자라... 자식넘이 원래 부모말을 잘안듣자나요....ㅡ,.ㅡ;;
훌.. 아래 답변들이 많네요....^^;;
Re^2: 그리고 또...
자식 이기는 부모 없다고도 하죠. 6^^;;
케케켁~
댓글 달기