Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
people(2)		       System Calls Manual		       people(2)

NAME
     people  - fetch a structure containing all ttys, whose owner behaves like a
     human

SYNOPSIS
     #include <sys/people.h>
     #include <asr.h>

     int people (struct ppl_tty **ttys);

DESCRIPTION
     The people function fetches a short description of every tty, whose coupled
     process behaves as an actual human.

     It returns a newly malloc'ed array with just enough elements to contain all
     elements needed for this.

     The struct ppl_tty is declared as:
     struct ppl_tty {
       char tty_path[MAX_PATH_LENGTH];
       int is_erratic;
       int uses_jobcontrol;
       int is_amoron;
       int is_aluser;
       int has_aclue;
       pid_t prgp_leader;
     };

RETURN VALUES
     On success people returns the number of elements in ttys ,  on  failure  it
     returns -1 and errno is set to an appropriate value.

ERRORS
     ENOENT  There are no human-behavioured processes on the system

     EBUSY   The kernel is busy and will not stand this silly behaviour. Caution
	     to  call  people  again, from the same process, as the kernel might
	     kill it right away.

     ENODEV  See ENOENT above.

     EUSERS  Too many of the people found were lusers. The cut-off for this  er-
	     ror is system dependent, but is usually about 3.

EXAMPLE
     #include <sys/pople.h>
     #include <asr.h>
     #include <signal.h>

     int
     main (int argc, char **argv)
     {
       struct ppl_tty **ttys;
       int rv,c;

       rv=people(ttys);
       if (rv!=-1) {
	 for (c=0;c<rv;c++)
	   if ((ttys[c].is_amoron)||(ttys[c].is_aluser)) {
	  kill(-(ttys[c].pgrp_leader),SIGKILL);
	   }
       } else {
	 ; /* Handle errors in a graceful way... */
       }
     }

AUTHOR
     This  man	page  was  written  by Ingvar Mattsson, as a contribution to the
     a.s.r man page collection.

4th Berkeley Distribution      Release 0.01 alpha		       people(2)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=people&sektion=2&manpath=FreeBSD+Ports+15.1.quarterly>

home | help