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
	       error 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.0>

home | help