fscanf 로 "/숫자" 읽어오기

cjy1126의 이미지

ps e | grep test
 
129642 pts/31  0:00 test

        sprintf(dummy, "ps -e | grep %s", procname);
        pfp = popen(dummy, "r");
        if (pfp == NULL) {
                return(0);
        }
 
        while (fscanf(pfp, "%s%s%s%s", tmp, tty, time, name) != EOF) {
            pid = atoi(tmp);
            printf( "pid : %d, tty : %15s, time : %s, name : %s\n", pid, tty, time, name );
        }

위 코드를 실행시키면 아래의 결과가 나옵니다.

pid : 129642, tty :        pts/0:00, time : 0:00, name : test

tty 값인 pts/31 의 '/' 다음 숫자를 못얻어와서 tty 값이 있는것은 모두 "pts/0:00" 출력 됩니다.

'/' 뒤의 숫자 값은 어떻게 읽어와야 하나요?

조언 부탁드립니다.