[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 Тексты программ

process.c

 1 #define NUMGROUPS 16
 2 #include <sys/types.h>
 3 #include <stdlib.h>
 4 #include <stdio.h>
 5 #include <unistd.h>
 6 #include <grp.h>
 7 #include <sys/resource.h>
 8 #include <sys/time.h>
 9
10 main()
11 {
12      gid_t groups[NUMGROUPS];
13      struct group *grp;
14      int i, num;
15      gid_t gid;
16      struct rlimit rlp;
17
18      printf("terminal is: %s\n",ttyname(0));
19      printf("pid = %ld, ppid = %ld\n", getpid(), getppid());
20      printf("uid = %ld, euid = %ld\n\n", getuid(), geteuid());
21
22      gid = getgid();
23      grp = getgrgid(gid);
24      printf("primary group is: %s\n", grp->gr_name);
25
26      num = getgroups(NUMGROUPS, groups);
27      printf("all groups: ");
28      for(i = 0; i < num; i++) {
29       grp = getgrgid(groups[i]);
30       printf("%s ", grp->gr_name);
31      }
32
33      getrlimit(RLIMIT_NOFILE, &rlp);
34      printf("open files soft limit: %4ld\n", rlp.rlim_cur);
35      printf("open files hard limit: %4ld\n", rlp.rlim_max);
36      rlp.rlim_cur = 5;
37      setrlimit(RLIMIT_NOFILE, &rlp);
38      getrlimit(RLIMIT_NOFILE, &rlp);
39      printf("new soft limit: %4ld\n", rlp.rlim_cur);
40      exit(0);
41 }