Man page - wait(2)
Packages contains this manual
- __malloc_initialize_hook(3)
- getpwuid(3)
- frexpl(3)
- fchown(2)
- setttyent(3)
- pthread_attr_setstacksize(3)
- calloc(3)
- clog(3)
- seteuid(2)
- res_nquerydomain(3)
- y0l(3)
- catanl(3)
- catanh(3)
- inet_addr(3)
- getcwd(2)
- epoll_create1(2)
- atol(3)
- pciconfig_write(2)
- htonl(3)
- timer_settime(2)
- munmap(2)
- cexpl(3)
- rt_sigsuspend(2)
- msgctl(2)
- tan(3)
- get_mempolicy(2)
- roundf(3)
- towctrans(3)
- xdr_opaque(3)
- psignal(3)
- error_at_line(3)
- xdrmem_create(3)
- select(2)
- getdate_r(3)
- getprotobyname_r(3)
- nrand48_r(3)
- inet_netof(3)
- inet_ntoa(3)
- nextafterl(3)
- innetgr(3)
- on_exit(3)
- expm1l(3)
- strfmon(3)
- strdup(3)
- getservbyport(3)
- arch_prctl(2)
- j0(3)
- wait4(2)
- personality(2)
- bpf(2)
- pvalloc(3)
- getresuid32(2)
- des_setparity(3)
- prctl(2)
- clog10(3)
- aio_init(3)
- pthread_getconcurrency(3)
- csinl(3)
- linkat(2)
- vsscanf(3)
- isascii(3)
- xdr_union(3)
- nan(3)
- utimensat(2)
- ioctl_vt(2)
- _newselect(2)
- ldexpl(3)
- fabsf(3)
- chown(2)
- mkstemps(3)
- pthread_attr_getstacksize(3)
- listxattr(2)
- getpgrp(2)
- xdr_short(3)
- tcflush(3)
- pthread_cond_wait(3)
- argz_add(3)
- wcpncpy(3)
- reallocarray(3)
- llrintf(3)
- outsl(2)
- qsort(3)
- authnone_create(3)
- tzname(3)
- setresuid32(2)
- isspace(3)
- open_by_handle_at(2)
- drem(3)
- conjf(3)
- nanosleep(2)
- pthread_kill(3)
- putc(3)
- pthread_condattr_destroy(3)
- getpwuid_r(3)
- strverscmp(3)
- res_init(3)
- cacosl(3)
- qecvt_r(3)
- iswgraph(3)
- gethostbyname(3)
- ntohl(3)
- acct(2)
- asinl(3)
- envz_merge(3)
- strdupa(3)
- idle(2)
- getopt_long_only(3)
- hstrerror(3)
- fanotify_init(2)
- fputs_unlocked(3)
- sleep(3)
- vfprintf(3)
- scalb(3)
- nanl(3)
- lchown32(2)
- getnetent_r(3)
- fcntl(2)
- inw(2)
- rintl(3)
- arc4random(3)
- getsockopt(2)
- ilogbl(3)
- clog2(3)
- encrypt(3)
- sqrtf(3)
- isspace_l(3)
- tanl(3)
- cfmakeraw(3)
- assert(3)
- strtoull(3)
- xdrstdio_create(3)
- optopt(3)
- setrlimit(2)
- lround(3)
- xdr_accepted_reply(3)
- fmin(3)
- mq_notify(3)
- svcerr_auth(3)
- sbrk(2)
- recv(2)
- mq_unlink(2)
- strxfrm(3)
- ctan(3)
- atoi(3)
- xcrypt(3)
- sgetspent(3)
- fread(3)
- isless(3)
- ceil(3)
- pthread_cond_broadcast(3)
- oldfstat(2)
- outl(2)
- times(2)
- wcslen(3)
- popen(3)
- wprintf(3)
- labs(3)
- getrpcbynumber(3)
- shmat(2)
- clock_gettime(2)
- btree(3)
- s390_sthyi(2)
- siggetmask(3)
- getgid32(2)
- puts(3)
- scalblnl(3)
- strpbrk(3)
- catanhl(3)
- vlimit(3)
- getrpcent(3)
- tgammal(3)
- strtoll(3)
- funlockfile(3)
- xdecrypt(3)
- pthread_key_delete(3)
- setgrent(3)
- wmemmove(3)
- gnu_dev_major(3)
- regexec(3)
- lrintl(3)
- __ppc_set_ppr_med(3)
- rmdir(2)
- io_getevents(2)
- request_key(2)
- ecvt(3)
- __ppc_mdoom(3)
- mktemp(3)
- key_gendes(3)
- le64toh(3)
- statvfs(3)
- rpc(3)
- getdate_err(3)
- munlockall(2)
- close(2)
- xdr_rejected_reply(3)
- dlerror(3)
- le32toh(3)
- feclearexcept(3)
- insque(3)
- clntraw_create(3)
- getutid(3)
- strtof(3)
- settimeofday(2)
- mkdir(2)
- rewind(3)
- logf(3)
- tmpnam(3)
- iswpunct(3)
- wcrtomb(3)
- epoll_pwait(2)
- getitimer(2)
- wordexp(3)
- clog2f(3)
- capset(2)
- strrchr(3)
- outsb(2)
- freeifaddrs(3)
- getwc_unlocked(3)
- ustat(2)
- bswap_16(3)
- program_invocation_short_name(3)
- ldiv(3)
- exp10f(3)
- vprintf(3)
- wcsncpy(3)
- iscntrl(3)
- readlink(2)
- semget(2)
- connect(2)
- psiginfo(3)
- epoll_ctl(2)
- removexattr(2)
- envz_strip(3)
- fgetxattr(2)
- atexit(3)
- putgrent(3)
- bswap(3)
- getegid32(2)
- qecvt(3)
- asinh(3)
- isfdtype(3)
- setenv(3)
- readdir(3)
- rtime(3)
- nearbyint(3)
- getgroups32(2)
- statx(2)
- modify_ldt(2)
- cpow(3)
- eventfd_read(3)
- sendfile64(2)
- getnetbyname(3)
- fremovexattr(2)
- uselib(2)
- inet(3)
- endutxent(3)
- clnt_spcreateerror(3)
- pututline(3)
- nexttowardl(3)
- getipnodebyaddr(3)
- fts_set(3)
- memmem(3)
- fmodl(3)
- setfsuid32(2)
- wordfree(3)
- fadvise64(2)
- getppid(2)
- qsort_r(3)
- toupper(3)
- getwc(3)
- fputws(3)
- mrand48(3)
- preadv(2)
- sincosf(3)
- fstatat64(2)
- dirfd(3)
- jnf(3)
- static_assert(3)
- wctype(3)
- vwarn(3)
- setfsent(3)
- listen(2)
- wcstok(3)
- argz_insert(3)
- select_tut(2)
- ctanl(3)
- getunwind(2)
- difftime(3)
- daylight(3)
- sigpause(3)
- wcscat(3)
- dlclose(3)
- __ppc_set_ppr_med_low(3)
- pread(2)
- fstatvfs(3)
- cbrtf(3)
- strnlen(3)
- sinhl(3)
- inl_p(2)
- setregid32(2)
- putwc(3)
- register_printf_type(3)
- nextafterf(3)
- opendir(3)
- strtod(3)
- tgamma(3)
- malloc_get_state(3)
- aio_write(3)
- timezone(3)
- xdr_pmaplist(3)
- sysfs(2)
- index(3)
- svcerr_noproc(3)
- envz(3)
- klogctl(3)
- pselect(2)
- get_current_dir_name(3)
- xdr_char(3)
- asinhf(3)
- preadv2(2)
- inotify_init1(2)
- pthread_attr_setstackaddr(3)
- getline(3)
- tanhf(3)
- rtnetlink(3)
- pkey_alloc(2)
- edata(3)
- stailq(3)
- isastream(2)
- setregid(2)
- copy_file_range(2)
- rcmd_af(3)
- futex(2)
- prof(2)
- siglongjmp(3)
- hdestroy(3)
- catan(3)
- pthread_cond_signal(3)
- mkfifoat(3)
- clntudp_create(3)
- getentropy(3)
- vsprintf(3)
- fabs(3)
- lseek64(3)
- pthread_setname_np(3)
- conjl(3)
- chroot(2)
- ccoshf(3)
- erand48_r(3)
- wcsnrtombs(3)
- rindex(3)
- fputc_unlocked(3)
- setresgid32(2)
- gettimeofday(2)
- cexp(3)
- inotify_add_watch(2)
- set_robust_list(2)
- nice(2)
- strtold(3)
- mq_getattr(3)
- xdr(3)
- getxattr(2)
- getrandom(2)
- splice(2)
- strerror(3)
- fcntl64(2)
- fnmatch(3)
- ungetwc(3)
- getspnam_r(3)
- clearenv(3)
- atan2(3)
- get_myaddress(3)
- open(2)
- pthread_setcancelstate(3)
- newlocale(3)
- open_memstream(3)
- setprotoent(3)
- logbf(3)
- ilogb(3)
- wmemcpy(3)
- tcsendbreak(3)
- be16toh(3)
- perfmonctl(2)
- strtoq(3)
- getgrgid_r(3)
- pthread_timedjoin_np(3)
- memfd_create(2)
- getttynam(3)
- mcheck_pedantic(3)
- _llseek(2)
- renameat2(2)
- ioperm(2)
- ecb_crypt(3)
- pthread_condattr_init(3)
- fminl(3)
- lio_listio(3)
- envz_add(3)
- setbuf(3)
- setkey(3)
- expm1(3)
- strtoul(3)
- getcwd(3)
- setutxent(3)
- getrpcent_r(3)
- unimplemented(2)
- fclose(3)
- epoll_create(2)
- getfsent(3)
- key_secretkey_is_set(3)
- vserver(2)
- vswprintf(3)
- sigsuspend(2)
- pututxline(3)
- clnt_freeres(3)
- cacheflush(2)
- ioprio_set(2)
- alarm(2)
- fgetc(3)
- __fpurge(3)
- getlogin_r(3)
- vfork(2)
- bstring(3)
- div(3)
- getrusage(2)
- gettid(2)
- dprintf(3)
- strtoumax(3)
- jrand48(3)
- iswcntrl(3)
- vwarnx(3)
- cacos(3)
- ccoshl(3)
- fesetexceptflag(3)
- res_nclose(3)
- shmop(2)
- mcheck_check_all(3)
- vscanf(3)
- tolower(3)
- landlock_add_rule(2)
- argz_next(3)
- lroundl(3)
- ruserok(3)
- glob(3)
- brk(2)
- rename(2)
- strcspn(3)
- sched_getscheduler(2)
- wcstoumax(3)
- dbopen(3)
- xdr_bytes(3)
- fegetenv(3)
- scalbf(3)
- pkey_free(2)
- fgetgrent(3)
- strchrnul(3)
- fork(2)
- log1pf(3)
- strtoimax(3)
- fputs(3)
- putspent(3)
- ttyname_r(3)
- iswlower(3)
- epoll_wait(2)
- minor(3)
- wcsspn(3)
- sendmmsg(2)
- pthread_attr_getsigmask_np(3)
- erand48(3)
- setpgrp(2)
- db(3)
- readv(2)
- cimagf(3)
- pthread_sigmask(3)
- getresuid(2)
- gamma(3)
- logwtmp(3)
- imaxabs(3)
- y1(3)
- swapoff(2)
- svcerr_weakauth(3)
- mbtowc(3)
- madvise(2)
- __fbufsize(3)
- swapon(2)
- towlower(3)
- asin(3)
- initgroups(3)
- svc_getreqset(3)
- pthread_attr_destroy(3)
- scalblnf(3)
- ispunct(3)
- casin(3)
- xdr_pmap(3)
- sigvec(3)
- dlmopen(3)
- localeconv(3)
- tcgetattr(3)
- mempcpy(3)
- clnt_perrno(3)
- clock_getcpuclockid(3)
- setaliasent(3)
- clock(3)
- ftok(3)
- svc_run(3)
- getsubopt(3)
- coshf(3)
- pow(3)
- getpwent(3)
- ntp_gettime(3)
- xdrrec_skiprecord(3)
- symlink(2)
- shmctl(2)
- mq_timedreceive(2)
- malloc(3)
- tgkill(2)
- l64a(3)
- unlockpt(3)
- mallopt(3)
- creal(3)
- syscalls(2)
- set_tid_address(2)
- exp2f(3)
- fstatfs(2)
- statfs(2)
- dreml(3)
- feenableexcept(3)
- ftw(3)
- fanotify_mark(2)
- clnt_sperror(3)
- realpath(3)
- sysconf(3)
- _syscall(2)
- set_mempolicy(2)
- mq_unlink(3)
- freehostent(3)
- rresvport_af(3)
- nl_langinfo_l(3)
- fmaxl(3)
- iscntrl_l(3)
- copysignf(3)
- llseek(2)
- bzero(3)
- ioctl_fsmap(2)
- remquof(3)
- malloc_trim(3)
- pthread_getattr_default_np(3)
- isalnum_l(3)
- mlock(2)
- nearbyintf(3)
- confstr(3)
- sinf(3)
- ioctl_eventpoll(2)
- sigstack(3)
- seed48_r(3)
- utmpname(3)
- malloc_stats(3)
- stpncpy(3)
- getservbyport_r(3)
- cabsl(3)
- isblank(3)
- sigprocmask(2)
- isinfl(3)
- isinff(3)
- pathconf(3)
- xdr_u_short(3)
- acos(3)
- timerfd_create(2)
- key_encryptsession(3)
- log2f(3)
- oldlstat(2)
- res_querydomain(3)
- memcmp(3)
- gethostbyaddr(3)
- sighold(3)
- gtty(2)
- xdr_void(3)
- getmsg(2)
- io_setup(2)
- ttyslot(3)
- recno(3)
- cuserid(3)
- nanf(3)
- pthread_getaffinity_np(3)
- if_indextoname(3)
- remainderf(3)
- putpwent(3)
- pow10f(3)
- pwritev(2)
- swapcontext(3)
- cfsetospeed(3)
- envz_remove(3)
- cosh(3)
- a64l(3)
- uselocale(3)
- yn(3)
- msgget(2)
- pthread_equal(3)
- prlimit(2)
- setspent(3)
- newfstatat(2)
- renameat(2)
- truncf(3)
- pthread_yield(3)
- tkill(2)
- islessequal(3)
- isnanf(3)
- sethostent(3)
- setvbuf(3)
- gnu_get_libc_release(3)
- atoll(3)
- getgrnam(3)
- get_robust_list(2)
- __ppc_yield(3)
- __memalign_hook(3)
- eventfd2(2)
- mq_setattr(3)
- tmpnam_r(3)
- pmap_getport(3)
- svcfd_create(3)
- getfsspec(3)
- setgid(2)
- getlogin(3)
- get_nprocs(3)
- canonicalize_file_name(3)
- pthread_mutexattr_getrobust(3)
- strerrorname_np(3)
- csinh(3)
- malloc_set_state(3)
- tcgetsid(3)
- ssignal(3)
- secure_getenv(3)
- significandl(3)
- wcschr(3)
- isgraph(3)
- pthread_mutexattr_gettype(3)
- creat(2)
- cabsf(3)
- __ppc_set_ppr_med_high(3)
- fchdir(2)
- backtrace_symbols(3)
- exp10l(3)
- euidaccess(3)
- sync_file_range(2)
- getutxline(3)
- isdigit(3)
- sinhf(3)
- lgetxattr(2)
- getaliasent(3)
- memrchr(3)
- io_submit(2)
- clnt_create(3)
- __setfpucw(3)
- _flushlbf(3)
- lcong48_r(3)
- clog10l(3)
- pmap_getmaps(3)
- memalign(3)
- xdr_authunix_parms(3)
- execl(3)
- getdate(3)
- cfsetispeed(3)
- tanhl(3)
- wmempcpy(3)
- outw_p(2)
- faccessat(2)
- rresvport(3)
- nextup(3)
- fgetgrent_r(3)
- getopt(3)
- xdr_vector(3)
- aio_error(3)
- frexpf(3)
- getpw(3)
- sscanf(3)
- mprotect(2)
- exp(3)
- sched_getaffinity(2)
- accept4(2)
- remainderl(3)
- pthread_key_create(3)
- endian(3)
- setmntent(3)
- get_phys_pages(3)
- argz(3)
- _exit(2)
- towupper_l(3)
- lrand48(3)
- csqrt(3)
- hdestroy_r(3)
- remquo(3)
- feof_unlocked(3)
- isprint(3)
- pivot_root(2)
- arc4random_uniform(3)
- strfroml(3)
- getdomainname(2)
- va_end(3)
- getresgid(2)
- cosf(3)
- endhostent(3)
- setgid32(2)
- ioctl_fs(2)
- getaddrinfo(3)
- fgetwc(3)
- lock(2)
- getservbyname_r(3)
- sys_nerr(3)
- insb(2)
- usleep(3)
- security(2)
- cfree(3)
- tanf(3)
- fprintf(3)
- pthread_mutexattr_setpshared(3)
- xprt_unregister(3)
- alphasort(3)
- getgrent(3)
- scandirat(3)
- iruserok(3)
- ttyname(3)
- tdestroy(3)
- strcasecmp(3)
- getpgid(2)
- drand48_r(3)
- mmap(2)
- sigtimedwait(2)
- pthread_once(3)
- mq_receive(3)
- pthread_mutexattr_setkind_np(3)
- iopl(2)
- s390_runtime_instr(2)
- lckpwdf(3)
- memmove(3)
- __fpending(3)
- mbsrtowcs(3)
- restart_syscall(2)
- memset(3)
- significandf(3)
- openat2(2)
- timeradd(3)
- conj(3)
- flockfile(3)
- madvise1(2)
- inet_aton(3)
- fstatfs64(2)
- fmax(3)
- fmemopen(3)
- fmaf(3)
- lseek(2)
- registerrpc(3)
- kexec_file_load(2)
- gammal(3)
- feof(3)
- pidfd_open(2)
- crealf(3)
- clogl(3)
- getutmp(3)
- umount(2)
- inet_pton(3)
- flistxattr(2)
- xdr_wrapstring(3)
- socketcall(2)
- setrpcent(3)
- rint(3)
- vm86(2)
- sincosl(3)
- getprotoent_r(3)
- mknod(2)
- getdents64(2)
- gai_cancel(3)
- srandom_r(3)
- getnetbyname_r(3)
- sigaddset(3)
- htole16(3)
- endnetent(3)
- nextafter(3)
- timerisset(3)
- getgrent_r(3)
- freeaddrinfo(3)
- endprotoent(3)
- mbind(2)
- sigorset(3)
- pthread_rwlockattr_setkind_np(3)
- cimag(3)
- waitid(2)
- abs(3)
- unlink(2)
- recvmsg(2)
- getaliasbyname(3)
- wctrans(3)
- kill(2)
- strtol(3)
- __ppc_set_ppr_very_low(3)
- membarrier(2)
- getnetbyaddr_r(3)
- writev(2)
- errx(3)
- tfind(3)
- clone3(2)
- __freading(3)
- outw(2)
- regfree(3)
- accept(2)
- timer_getoverrun(2)
- shmdt(2)
- svcerr_decode(3)
- getnameinfo(3)
- endusershell(3)
- execvpe(3)
- cbc_crypt(3)
- res_send(3)
- xdr_destroy(3)
- getcontext(3)
- pkey_mprotect(2)
- twalk_r(3)
- isalnum(3)
- timercmp(3)
- setxattr(2)
- pthread_cleanup_pop_restore_np(3)
- stat(2)
- isupper(3)
- vsyslog(3)
- strlen(3)
- pthread_attr_setinheritsched(3)
- xdr_inline(3)
- strtouq(3)
- raise(3)
- getpeername(2)
- capget(2)
- atanl(3)
- ferror_unlocked(3)
- isxdigit_l(3)
- modfl(3)
- pthread_mutexattr_init(3)
- pthread_mutexattr_getkind_np(3)
- phys(2)
- llabs(3)
- sched_rr_get_interval(2)
- asprintf(3)
- explicit_bzero(3)
- asctime(3)
- clone(2)
- munlock(2)
- __realloc_hook(3)
- atof(3)
- rt_tgsigqueueinfo(2)
- syslog(2)
- inet_makeaddr(3)
- epoll_pwait2(2)
- iswalpha(3)
- netlink(3)
- sched_setattr(2)
- sigdescr_np(3)
- access(2)
- getc_unlocked(3)
- dysize(3)
- inet_net_pton(3)
- sched_setparam(2)
- timerfd_settime(2)
- nexttowardf(3)
- expf(3)
- svcerr_progvers(3)
- getwchar(3)
- ftime(3)
- if_nametoindex(3)
- argz_add_sep(3)
- vasprintf(3)
- unlinkat(2)
- putenv(3)
- pthread_mutexattr_setrobust_np(3)
- error_message_count(3)
- setfsgid(2)
- cmsg(3)
- setpwent(3)
- cfgetospeed(3)
- end(3)
- pidfd_send_signal(2)
- scalbn(3)
- closelog(3)
- srandom(3)
- argz_replace(3)
- ioctl_tty(2)
- va_arg(3)
- towlower_l(3)
- isblank_l(3)
- remove(3)
- expl(3)
- fscanf(3)
- versionsort(3)
- pow10(3)
- hsearch(3)
- gethostid(3)
- fchownat(2)
- group_member(3)
- getchar_unlocked(3)
- getservbyname(3)
- pthread_mutexattr_destroy(3)
- setpgid(2)
- acosf(3)
- ctanhf(3)
- shm_open(3)
- towupper(3)
- getdents(2)
- chown32(2)
- hypotf(3)
- undocumented(3)
- drand48(3)
- csinf(3)
- ctime_r(3)
- setlinebuf(3)
- ulimit(3)
- spu_create(2)
- fcvt_r(3)
- ipc(2)
- ftruncate64(2)
- fdopen(3)
- svcerr_noprog(3)
- getrpcport(3)
- csin(3)
- sinh(3)
- nrand48(3)
- openpty(3)
- xdr_double(3)
- pthread_attr_getscope(3)
- vfscanf(3)
- catanhf(3)
- inb(2)
- wcpcpy(3)
- ldexp(3)
- getopt_long(3)
- strerrordesc_np(3)
- mbsinit(3)
- argz_stringify(3)
- setbuffer(3)
- byteorder(3)
- expm1f(3)
- pthread_attr_setscope(3)
- gnu_dev_makedev(3)
- pipe(2)
- updwtmp(3)
- fts_read(3)
- ioctl_fat(2)
- h_errno(3)
- sem_getvalue(3)
- iswupper(3)
- lrint(3)
- perror(3)
- xdr_u_int(3)
- timer_create(2)
- iswdigit(3)
- fgetspent(3)
- fwrite_unlocked(3)
- reboot(2)
- ftruncate(2)
- getutmpx(3)
- pwrite64(2)
- getauxval(3)
- xdr_pointer(3)
- getprotobynumber(3)
- svc_destroy(3)
- vmsplice(2)
- inet_network(3)
- readdir_r(3)
- setsockopt(2)
- rexec(3)
- flock(2)
- getw(3)
- mmap2(2)
- j1f(3)
- cprojf(3)
- mkstemp(3)
- symlinkat(2)
- tempnam(3)
- pthread_attr_getaffinity_np(3)
- gethostbyname_r(3)
- signalfd4(2)
- sys_siglist(3)
- erfc(3)
- truncate64(2)
- verr(3)
- pthread_kill_other_threads_np(3)
- eaccess(3)
- fsetpos(3)
- slist(3)
- pmap_unset(3)
- modf(3)
- ioctl_pipe(2)
- vfwprintf(3)
- getresgid32(2)
- statfs64(2)
- cexp2(3)
- stdio_ext(3)
- login_tty(3)
- xdr_long(3)
- dlsym(3)
- clog2l(3)
- malloc_usable_size(3)
- fegetexceptflag(3)
- basename(3)
- fwrite(3)
- vhangup(2)
- printf(3)
- setnetent(3)
- gethostbyname2(3)
- mallinfo2(3)
- signbit(3)
- clnt_broadcast(3)
- sched_yield(2)
- sem_open(3)
- sigsetjmp(3)
- cacoshl(3)
- sem_unlink(3)
- setresuid(2)
- signgam(3)
- putw(3)
- imaxdiv(3)
- regex(3)
- alloc_hugepages(2)
- modff(3)
- exp10(3)
- cprojl(3)
- utime(2)
- clogf(3)
- pthread_mutex_unlock(3)
- erff(3)
- ioctl_userfaultfd(2)
- iswprint(3)
- roundl(3)
- sqrtl(3)
- fpurge(3)
- getusershell(3)
- fcloseall(3)
- xdr_opaque_auth(3)
- gethostent_r(3)
- fgetwc_unlocked(3)
- fchmod(2)
- strptime(3)
- lutimes(3)
- htole64(3)
- putchar_unlocked(3)
- create_module(2)
- isascii_l(3)
- sigaction(2)
- stdout(3)
- geteuid32(2)
- xprt_register(3)
- freopen(3)
- ccosl(3)
- pthread_setschedprio(3)
- rt_sigaction(2)
- getmntent(3)
- putwchar_unlocked(3)
- logl(3)
- remque(3)
- unsetenv(3)
- sigwaitinfo(2)
- pthread_mutexattr_getrobust_np(3)
- initstate_r(3)
- getfsfile(3)
- exp2l(3)
- isatty(3)
- lgamma_r(3)
- lrintf(3)
- outb(2)
- __clone2(2)
- strcpy(3)
- clnt_call(3)
- hypot(3)
- fegetexcept(3)
- tcsetpgrp(3)
- gets(3)
- malloc_info(3)
- nextupf(3)
- pthread_attr_getdetachstate(3)
- getaliasent_r(3)
- fstat64(2)
- futimesat(2)
- dl_iterate_phdr(3)
- posix_madvise(3)
- endnetgrent(3)
- tolower_l(3)
- pthread_attr_setstack(3)
- pread64(2)
- sigsetops(3)
- stty(2)
- process_vm_readv(2)
- isfinite(3)
- gethostbyaddr_r(3)
- cproj(3)
- gai_strerror(3)
- key_decryptsession(3)
- inet_ntop(3)
- __ppc_mdoio(3)
- btowc(3)
- setstate_r(3)
- if_nameindex(3)
- fdetach(2)
- random_r(3)
- iruserok_af(3)
- truncl(3)
- clearerr(3)
- lgammaf(3)
- lfind(3)
- ctanf(3)
- strcat(3)
- pthread_attr_getschedpolicy(3)
- pthread_rwlockattr_getkind_np(3)
- sigrelse(3)
- daemon(3)
- pthread_setcanceltype(3)
- sigevent(7)
- iswalnum(3)
- pmap_set(3)
- stdin(3)
- ceilf(3)
- asctime_r(3)
- poll(2)
- svc_unregister(3)
- isnanl(3)
- carg(3)
- getprotobyname(3)
- arm_fadvise(2)
- optind(3)
- mount_setattr(2)
- dlvsym(3)
- ntp_adjtime(3)
- abort(3)
- pthread_getname_np(3)
- execlp(3)
- bind(2)
- bsearch(3)
- endspent(3)
- register_printf_specifier(3)
- landlock_create_ruleset(2)
- mkostemp(3)
- setgroups(2)
- toupper_l(3)
- argz_extract(3)
- sigblock(3)
- j0l(3)
- argz_delete(3)
- setusershell(3)
- getspnam(3)
- optarg(3)
- vm86old(2)
- sigandset(3)
- getdtablesize(3)
- getsockname(2)
- pthread_sigqueue(3)
- ptsname(3)
- j1(3)
- lgamma(3)
- getpagesize(2)
- pthread_mutex_lock(3)
- setsid(2)
- strncat(3)
- ioctl_kd(2)
- tsearch(3)
- mq_notify(2)
- fcvt(3)
- clntudp_bufcreate(3)
- getpwent_r(3)
- pthread_getspecific(3)
- memfrob(3)
- arc4random_buf(3)
- forkpty(3)
- powl(3)
- dlopen(3)
- stderr(3)
- set_thread_area(2)
- query_module(2)
- sem_close(3)
- strndup(3)
- __malloc_hook(3)
- setjmp(3)
- stdio(3)
- bdflush(2)
- sendto(2)
- mpx(2)
- fopen(3)
- setpriority(2)
- nextdownl(3)
- mprobe(3)
- oldstat(2)
- sem_destroy(3)
- bcopy(3)
- remap_file_pages(2)
- isgreaterequal(3)
- getpass(3)
- seekdir(3)
- break(2)
- authunix_create_default(3)
- tty_ioctl(4)
- process_madvise(2)
- endfsent(3)
- atoq(3)
- strftime(3)
- fts(3)
- getgrgid(3)
- isxdigit(3)
- ftello(3)
- regcomp(3)
- error(3)
- getenv(3)
- clnt_sperrno(3)
- readahead(2)
- y0(3)
- roundup(3)
- io_destroy(2)
- vsnprintf(3)
- lgammal(3)
- eventfd_write(3)
- pthread_mutex_trylock(3)
- lchown(2)
- dladdr(3)
- error_print_progname(3)
- pthread_mutexattr_settype(3)
- strspn(3)
- __after_morecore_hook(3)
- localtime(3)
- fsync(2)
- ether_aton(3)
- csinhl(3)
- trunc(3)
- xdr_u_char(3)
- syslog(3)
- y1f(3)
- ioctl_nsfs(2)
- wmemcmp(3)
- ffsll(3)
- ether_ntohost(3)
- bswap_32(3)
- umount2(2)
- sigfillset(3)
- landlock_restrict_self(2)
- pthread_join(3)
- sysinfo(2)
- clock_settime(2)
- llrint(3)
- s390_guarded_storage(2)
- getc(3)
- inet_lnaof(3)
- tcgetpgrp(3)
- clock_getres(2)
- etext(3)
- strfmon_l(3)
- putwc_unlocked(3)
- xdr_replymsg(3)
- scalbl(3)
- fdim(3)
- getspent(3)
- sem_timedwait(3)
- posix_fallocate(3)
- res_nmkquery(3)
- pthread_spin_unlock(3)
- mq_timedsend(2)
- opterr(3)
- getloadavg(3)
- strsignal(3)
- finite(3)
- inw_p(2)
- csinhf(3)
- execveat(2)
- seed48(3)
- sigset(3)
- setgroups32(2)
- logbl(3)
- wcsdup(3)
- clnt_geterr(3)
- sys_errlist(3)
- inotify_rm_watch(2)
- qgcvt(3)
- wcspbrk(3)
- sin(3)
- lookup_dcookie(2)
- s390_pci_mmio_read(2)
- wcscmp(3)
- getutxent(3)
- pciconfig_read(2)
- initstate(3)
- backtrace(3)
- putc_unlocked(3)
- fedisableexcept(3)
- rt_sigprocmask(2)
- clock_adjtime(2)
- fwprintf(3)
- jnl(3)
- grantpt(3)
- cimagl(3)
- getgrnam_r(3)
- remquol(3)
- swprintf(3)
- mbrtowc(3)
- fileno_unlocked(3)
- readlinkat(2)
- sigignore(3)
- strndupa(3)
- semctl(2)
- assert_perror(3)
- sendfile(2)
- shm_unlink(3)
- log(3)
- ungetc(3)
- erf(3)
- qfcvt(3)
- pthread_atfork(3)
- login(3)
- setservent(3)
- jrand48_r(3)
- wcsnlen(3)
- tcflow(3)
- pthread_cond_destroy(3)
- inl(2)
- srand48_r(3)
- erfcf(3)
- iconv(3)
- pthread_mutex_consistent_np(3)
- fabsl(3)
- pclose(3)
- nfsservctl(2)
- gai_error(3)
- wcsncmp(3)
- islower_l(3)
- iswctype(3)
- svc_register(3)
- arm_sync_file_range(2)
- strfry(3)
- strfromd(3)
- getttyent(3)
- rand(3)
- fchown32(2)
- ctime(3)
- fsetxattr(2)
- feupdateenv(3)
- random(3)
- getpwnam_r(3)
- sigwait(3)
- aio_fsync(3)
- mq_open(2)
- tanh(3)
- localtime_r(3)
- bsd_signal(3)
- strsep(3)
- mknodat(2)
- cexpf(3)
- cacosh(3)
- mbrlen(3)
- aio_cancel(3)
- mq_getsetattr(2)
- fdatasync(2)
- htons(3)
- sem_post(3)
- htobe16(3)
- vtimes(3)
- fgetpwent_r(3)
- getwchar_unlocked(3)
- mkdirat(2)
- dup(2)
- free_hugepages(2)
- feraiseexcept(3)
- lockf(3)
- userfaultfd(2)
- pthread_attr_setaffinity_np(3)
- memcpy(3)
- prlimit64(2)
- ferror(3)
- ldexpf(3)
- aio_return(3)
- adjtimex(2)
- execle(3)
- tailq(3)
- cabs(3)
- endaliasent(3)
- execvp(3)
- hasmntopt(3)
- if_freenameindex(3)
- signal(2)
- dn_comp(3)
- pthread_attr_getstack(3)
- ether_hostton(3)
- re_comp(3)
- cexp2l(3)
- getwd(3)
- llroundl(3)
- cos(3)
- pthread_mutex_consistent(3)
- isalpha_l(3)
- io_cancel(2)
- frexp(3)
- finitel(3)
- perf_event_open(2)
- pthread_exit(3)
- ioctl_console(2)
- timelocal(3)
- timersub(3)
- setresgid(2)
- semop(2)
- getgroups(2)
- envz_entry(3)
- xdr_u_long(3)
- seccomp(2)
- ftrylockfile(3)
- setuid(2)
- wcwidth(3)
- llround(3)
- cacoshf(3)
- pthread_attr_setschedpolicy(3)
- fgetpos(3)
- xdr_array(3)
- sprintf(3)
- wmemset(3)
- setcontext(3)
- copysignl(3)
- be64toh(3)
- matherr(3)
- hypotl(3)
- rawmemchr(3)
- fmodf(3)
- mount(2)
- mktime(3)
- stdarg(3)
- clnttcp_create(3)
- string(3)
- profil(3)
- clnt_perror(3)
- getpriority(2)
- regerror(3)
- clone2(2)
- getgid(2)
- pthread_spin_lock(3)
- iswblank(3)
- ftell(3)
- dup3(2)
- toascii(3)
- strncpy(3)
- mrand48_r(3)
- setstate(3)
- sigqueue(3)
- cpowf(3)
- setlogmask(3)
- sched_getcpu(3)
- htobe32(3)
- list(3)
- isdigit_l(3)
- chdir(2)
- fstat(2)
- pwritev2(2)
- get_thread_area(2)
- freelocale(3)
- acoshl(3)
- socketpair(2)
- scalbln(3)
- fpclassify(3)
- getpwnam(3)
- pthread_getcpuclockid(3)
- ioprio_get(2)
- strtok_r(3)
- exit_group(2)
- scalbnf(3)
- xdrrec_create(3)
- pthread_mutex_destroy(3)
- sqrt(3)
- dirname(3)
- exit(2)
- ulckpwdf(3)
- cargl(3)
- powerof2(3)
- simpleq(3)
- process_vm_writev(2)
- fdopendir(3)
- getpt(3)
- floorl(3)
- va_start(3)
- lcong48(3)
- strerror_l(3)
- xdrrec_eof(3)
- key_setsecret(3)
- lstat64(2)
- memfd_secret(2)
- sigreturn(2)
- casinhf(3)
- valloc(3)
- stat64(2)
- jn(3)
- sinl(3)
- pthread_testcancel(3)
- cfgetispeed(3)
- dup2(2)
- getnetent(3)
- pthread_setconcurrency(3)
- memccpy(3)
- rt_sigqueueinfo(2)
- ccosf(3)
- sincos(3)
- tcdrain(3)
- ccos(3)
- chmod(2)
- cacosf(3)
- lstat(2)
- pthread_spin_trylock(3)
- sigisemptyset(3)
- getrpcbyname(3)
- fpathconf(3)
- copysign(3)
- round(3)
- wmemchr(3)
- qfcvt_r(3)
- fattach(2)
- __fsetlocking(3)
- adjtime(3)
- makedev(3)
- des_crypt(3)
- iswspace(3)
- twalk(3)
- exec(3)
- link(2)
- fileno(3)
- endpwent(3)
- logb(3)
- wcscspn(3)
- console_ioctl(4)
- fgetpwent(3)
- setegid(2)
- clnt_destroy(3)
- getaddrinfo_a(3)
- svc_getargs(3)
- addmntent(3)
- globfree(3)
- islower(3)
- muntrace(3)
- clnt_pcreateerror(3)
- llrintl(3)
- clnt_control(3)
- fgetspent_r(3)
- strstr(3)
- putmsg(2)
- __fwritable(3)
- res_nsearch(3)
- fseeko(3)
- mq_timedreceive(3)
- log10(3)
- fexecve(3)
- gammaf(3)
- pthread_setschedparam(3)
- wcscpy(3)
- xdr_float(3)
- pthread_attr_setdetachstate(3)
- sem_wait(3)
- pow10l(3)
- re_exec(3)
- rand_r(3)
- putpmsg(2)
- getdelim(3)
- utimes(2)
- mq_close(3)
- setutent(3)
- creall(3)
- mq_send(3)
- telldir(3)
- powf(3)
- erfl(3)
- pthread_self(3)
- pselect6(2)
- unlocked_stdio(3)
- insw(2)
- cfsetspeed(3)
- argz_create(3)
- xdr_string(3)
- pthread_attr_getguardsize(3)
- finitef(3)
- setlocale(3)
- bcmp(3)
- fmtmsg(3)
- sendmsg(2)
- pthread_cleanup_push(3)
- inb_p(2)
- mmap64(3)
- getuid32(2)
- truncate(2)
- mlock2(2)
- fegetround(3)
- ugetrlimit(2)
- getprotobynumber_r(3)
- utmpxname(3)
- isinf(3)
- clearerr_unlocked(3)
- stime(2)
- nftw(3)
- duplocale(3)
- svcraw_create(3)
- svc_getcaller(3)
- ctanhl(3)
- cbrt(3)
- floorf(3)
- sethostid(3)
- sigemptyset(3)
- sigaltstack(2)
- mkfifo(3)
- lsearch(3)
- getservent_r(3)
- islessgreater(3)
- floor(3)
- argz_append(3)
- tzset(3)
- res_mkquery(3)
- fstatat(2)
- strchr(3)
- semtimedop(2)
- bindresvport(3)
- tcsetattr(3)
- warn(3)
- getservent(3)
- atanhl(3)
- tdelete(3)
- ynf(3)
- ether_ntoa_r(3)
- fesetenv(3)
- mq_timedsend(3)
- quotactl(2)
- init_module(2)
- rcmd(3)
- fenv(3)
- getutxid(3)
- pthread_mutexattr_getpshared(3)
- scalbnl(3)
- atan2l(3)
- argz_count(3)
- rpmatch(3)
- timerfd_gettime(2)
- ualarm(3)
- pthread_attr_init(3)
- vdprintf(3)
- pthread_cancel(3)
- fflush(3)
- setkey_r(3)
- mbstowcs(3)
- mremap(2)
- strcasestr(3)
- hcreate_r(3)
- siginterrupt(3)
- offsetof(3)
- atan(3)
- wctomb(3)
- getutent(3)
- significand(3)
- arm_fadvise64_64(2)
- dremf(3)
- wcswidth(3)
- syscall(2)
- rintf(3)
- bswap_64(3)
- pthread_attr_getschedparam(3)
- lroundf(3)
- timegm(3)
- posix_fadvise(2)
- getrlimit(2)
- svc_freeargs(3)
- xdr_enum(3)
- hcreate(3)
- ptrace(2)
- backtrace_symbols_fd(3)
- fetestexcept(3)
- ccosh(3)
- htole32(3)
- kexec_load(2)
- fallocate(2)
- timer_gettime(2)
- tgammaf(3)
- errno(3)
- sched_get_priority_max(2)
- xdr_getpos(3)
- vwprintf(3)
- ssetmask(2)
- ether_ntoa(3)
- waitpid(2)
- sched_getattr(2)
- inotify_init(2)
- fma(3)
- gnu_get_libc_version(3)
- svctcp_create(3)
- wcstombs(3)
- gethostname(2)
- strerror_r(3)
- sigismember(3)
- fgetws_unlocked(3)
- hash(3)
- circleq(3)
- getrpcbynumber_r(3)
- pthread_cond_timedwait(3)
- uname(2)
- fgetc_unlocked(3)
- mq_open(3)
- cosl(3)
- rewinddir(3)
- nextdown(3)
- longjmp(3)
- execv(3)
- iconv_open(3)
- xencrypt(3)
- ctermid(3)
- isgraph_l(3)
- move_pages(2)
- isunordered(3)
- msgsnd(2)
- rt_sigtimedwait(2)
- syncfs(2)
- mlockall(2)
- pthread_getschedparam(3)
- lsetxattr(2)
- getutid_r(3)
- log1pl(3)
- catanf(3)
- passwd2des(3)
- iconv_close(3)
- aligned_alloc(3)
- sched_setscheduler(2)
- gmtime(3)
- __free_hook(3)
- acoshf(3)
- mtrace(3)
- resolver(3)
- clog10f(3)
- sethostname(2)
- pthread_attr_setguardsize(3)
- tuxcall(2)
- atanh(3)
- ispunct_l(3)
- svcudp_bufcreate(3)
- ctanh(3)
- j1l(3)
- log10l(3)
- alloca(3)
- sigpending(2)
- nexttoward(3)
- isnormal(3)
- svc_getreq(3)
- putchar(3)
- getnetbyaddr(3)
- cpowl(3)
- get_kernel_syms(2)
- getutline_r(3)
- pthread_setaffinity_np(3)
- isnan(3)
- getprotoent(3)
- catclose(3)
- getsid(2)
- endrpcent(3)
- fts_close(3)
- gnu_dev_minor(3)
- ruserok_af(3)
- getutent_r(3)
- getegid(2)
- sgetmask(2)
- posix_memalign(3)
- atanf(3)
- unshare(2)
- lremovexattr(2)
- strncasecmp(3)
- endutent(3)
- updwtmpx(3)
- outsw(2)
- sched_getparam(2)
- setuid32(2)
- catgets(3)
- nextupl(3)
- openat(2)
- logout(3)
- free(3)
- setfsuid(2)
- getutline(3)
- svc_sendreply(3)
- fadvise64_64(2)
- cargf(3)
- __ppc_set_ppr_low(3)
- casinh(3)
- outb_p(2)
- fputwc(3)
- log10f(3)
- getnetgrent(3)
- fputws_unlocked(3)
- ffsl(3)
- endttyent(3)
- isgreater(3)
- sigmask(3)
- sgetspent_r(3)
- fmaxf(3)
- openlog(3)
- strncmp(3)
- closedir(3)
- rexec_af(3)
- exp2(3)
- mcheck(3)
- isalpha(3)
- pthread_mutex_init(3)
- catopen(3)
- clock_nanosleep(2)
- ioctl(2)
- remainder(3)
- olduname(2)
- getcpu(2)
- setns(2)
- asinhl(3)
- wcscasecmp(3)
- nearbyintl(3)
- atan2f(3)
- wctob(3)
- nextdownf(3)
- gmtime_r(3)
- fmal(3)
- setfsgid32(2)
- dlinfo(3)
- posix_spawnp(3)
- fgets_unlocked(3)
- major(3)
- fseek(3)
- xdr_callhdr(3)
- execve(2)
- exit(3)
- makecontext(3)
- sysctl(2)
- oldolduname(2)
- getgrouplist(3)
- pthread_getattr_np(3)
- ffs(3)
- sem_init(3)
- gcvt(3)
- fts_children(3)
- rt_sigreturn(2)
- mallinfo(3)
- insl(2)
- geteuid(2)
- signalfd(2)
- erfcl(3)
- sched_get_priority_min(2)
- sched_setaffinity(2)
- wcsrchr(3)
- xdr_reference(3)
- snprintf(3)
- delete_module(2)
- j0f(3)
- malloc_hook(3)
- casinf(3)
- y0f(3)
- endgrent(3)
- y1l(3)
- pthread_create(3)
- wcsncasecmp(3)
- pidfd_getfd(2)
- htobe64(3)
- _sysctl(2)
- lrand48_r(3)
- warnx(3)
- lgammaf_r(3)
- verrx(3)
- finit_module(2)
- gsignal(3)
- recvfrom(2)
- log2(3)
- fflush_unlocked(3)
- getaliasbyname_r(3)
- pthread_mutexattr_setrobust(3)
- getdirentries(3)
- getrpcbyname_r(3)
- ppoll(2)
- tmpfile(3)
- isupper_l(3)
- xdr_free(3)
- res_nquery(3)
- fts_open(3)
- shutdown(2)
- xdr_callmsg(3)
- coshl(3)
- ntp_gettimex(3)
- afs_syscall(2)
- be32toh(3)
- fchmodat(2)
- addseverity(3)
- pause(2)
- strcmp(3)
- mkostemps(3)
- wcsrtombs(3)
- scandir(3)
- __freadable(3)
- killpg(3)
- add_key(2)
- strcoll(3)
- migrate_pages(2)
- pthread_setattr_default_np(3)
- pthread_attr_setsigmask_np(3)
- sigabbrev_np(3)
- readdir(2)
- subpage_prot(2)
- strfromf(3)
- sysv_signal(3)
- gethostbyname2_r(3)
- outl_p(2)
- sync(2)
- pthread_attr_getinheritsched(3)
- socket(2)
- msgrcv(2)
- fgetws(3)
- pthread_cleanup_push_defer_np(3)
- getnetgrent_r(3)
- ynl(3)
- endservent(3)
- srand(3)
- endmntent(3)
- cbrtl(3)
- setitimer(2)
- pmap_rmtcall(3)
- svcerr_systemerr(3)
- fesetround(3)
- ilogbf(3)
- __fwriting(3)
- log1p(3)
- futimens(3)
- xdrrec_endofrecord(3)
- setreuid32(2)
- swab(3)
- pthread_spin_init(3)
- memchr(3)
- fminf(3)
- getipnodebyname(3)
- msgop(2)
- wait(2)
- ether_aton_r(3)
- open_wmemstream(3)
- xdr_bool(3)
- pthread_tryjoin_np(3)
- xdr_int(3)
- inet_net_ntop(3)
- fdimf(3)
- srand48(3)
- xdr_setpos(3)
- asinf(3)
- program_invocation_name(3)
- write(2)
- mkdtemp(3)
- pthread_cleanup_pop(3)
- ptsname_r(3)
- lgammal_r(3)
- pthread_attr_getstackaddr(3)
- authunix_create(3)
- getpmsg(2)
- ceill(3)
- cexp2f(3)
- kcmp(2)
- setup(2)
- err(3)
- sync_file_range2(2)
- getpid(2)
- wcsncat(3)
- envz_get(3)
- futimes(3)
- mincore(2)
- herror(3)
- ether_line(3)
- feholdexcept(3)
- fputc(3)
- keyctl(2)
- timer_delete(2)
- posix_spawn(3)
- faccessat2(2)
- setnetgrent(3)
- pwrite(2)
- aio_read(3)
- shmget(2)
- acosh(3)
- sigdelset(3)
- __ppc_get_timebase(3)
- __flbf(3)
- dladdr1(3)
- argz_create_sep(3)
- mblen(3)
- gethostent(3)
- pciconfig_iobase(2)
- recvmmsg(2)
- isprint_l(3)
- csqrtf(3)
- wcstoimax(3)
- hsearch_r(3)
- svcudp_create(3)
- setreuid(2)
- le16toh(3)
- name_to_handle_at(2)
- strftime_l(3)
- pthread_attr_setschedparam(3)
- eventfd(2)
- atanhf(3)
- pthread_setspecific(3)
- pthread_cond_init(3)
- acosl(3)
- llistxattr(2)
- fputwc_unlocked(3)
- scanf(3)
- getmntent_r(3)
- getchar(3)
- res_ninit(3)
- error_one_per_line(3)
- sigsetmask(3)
- putwchar(3)
- llroundf(3)
- rt_sigpending(2)
- send(2)
- wcsstr(3)
- log2l(3)
- fmod(3)
- va_copy(3)
- res_search(3)
- res_nsend(3)
- res_query(3)
- wait3(2)
- encrypt_r(3)
- system(3)
- close_range(2)
- ecvt_r(3)
- read(2)
- auth_destroy(3)
- realloc(3)
- pipe2(2)
- dn_expand(3)
- timerclear(3)
- get_avphys_pages(3)
- mbsnrtowcs(3)
- strtok(3)
- fwide(3)
- __ppc_get_timebase_freq(3)
- gai_suspend(3)
- stpcpy(3)
- lldiv(3)
- iswxdigit(3)
- posix_openpt(3)
- s390_pci_mmio_write(2)
- pthread_spin_destroy(3)
- callrpc(3)
- getifaddrs(3)
- aio_suspend(3)
- fread_unlocked(3)
- get_nprocs_conf(3)
- getuid(2)
- spu_run(2)
- termios(3)
- umask(2)
- csqrtl(3)
- register_printf_modifier(3)
- sem_trywait(3)
- tee(2)
- msync(2)
- mpool(3)
- setdomainname(2)
- fopencookie(3)
- nl_langinfo(3)
- sockatmark(3)
- getspent_r(3)
- casinhl(3)
- fdiml(3)
- ntohs(3)
- fgets(3)
- time(2)
- casinl(3)
- pthread_detach(3)
- seccomp_unotify(2)
apt-get install manpages-dev
Available languages:
en fr it pl nl ja ruManual
WAIT
名 前書 式
説 明
wait() と waitpid()
waitid()
返 り 値
エ ラ ー
準 拠
注 意
Linux で の 注 意
C ラ イ ブ ラ リ と カ ー ネ ル の 違 い
バ グ
例
プ ロ グ ラ ム の ソ ー ス
関 連 項 目
こ の 文 書 に つ い て
名 前
wait, waitpid, waitid - プ ロ セ ス の 状 態 変 化 を 待 つ
書 式
#include
<sys/types.h>
#include <sys/wait.h>
pid_t wait(int * wstatus );
pid_t waitpid(pid_t pid , int * wstatus , int options );
int
waitid(idtype_t
idtype
, id_t
id
,
siginfo_t *
infop
, int
options
);
/* こ れ は glibc と POSIX の
イ ン タ ー フ ェ
イ ス で あ る 。
生 の シ ス テ ム
コ ー ル に つ い
て の 情 報 は 「
注 意 」 の 節 を
参 照 。 */
glibc 向 け の 機 能 検 査 マ ク ロ の 要 件 ( feature_test_macros (7) 参 照 ):
waitid ():
glibc 2.26 以 降 :
_XOPEN_SOURCE >= 500 ||
_POSIX_C_SOURCE >= 200809L
glibc 2.25 以 前 :
_XOPEN_SOURCE
|| /* Since glibc 2.12: */
_POSIX_C_SOURCE >= 200809L
|| /* Glibc versions <= 2.19: */ _BSD_SOURCE
説 明
こ れ ら の シ ス テ ム コ ー ル は い ず れ も 、 呼 び 出 し 元 プ ロ セ ス の 子 プ ロ セ ス の 状 態 変 化 を 待 ち 、 状 態 が 変 化 し た そ の 子 プ ロ セ ス の 情 報 を 取 得 す る の に 使 用 さ れ る 。 状 態 変 化 と は 以 下 の い ず れ か で あ る : 子 プ ロ セ ス の 終 了 、 シ グ ナ ル に よ る 子 プ ロ セ ス の 停 止 、 シ グ ナ ル に よ る 子 プ ロ セ ス の 再 開 。 子 プ ロ セ ス が 終 了 し た 場 合 は 、 wait を 実 行 す る こ と で 、 シ ス テ ム が そ の 子 プ ロ セ ス に 関 連 す る リ ソ ー ス を 解 放 で き る よ う に な る 。 wait が 実 行 さ れ な か っ た 場 合 に は 、 終 了 し た 子 プ ロ セ ス は 「 ゾ ン ビ 」 状 態 で 残 り 続 け る (下 記 の 注 意 の 章 を 参 照 の こ と )。
子 プ ロ セ ス の 状 態 変 化 が す で に 発 生 し て い た 場 合 、 こ れ ら の コ ー ル は す ぐ に 復 帰 す る 。 そ れ 以 外 の 場 合 は 、 子 プ ロ セ ス の 状 態 変 化 が 起 こ る か 、 シ グ ナ ル ハ ン ド ラ ー に よ り シ ス テ ム コ ー ル が 中 断 さ れ る ま で 、 停 止 (block) す る (後 者 は 、 sigaction (2) の SA_RESTART フ ラ グ に よ り シ ス テ ム コ ー ル が 自 動 的 に 再 ス タ ー ト す る よ う に な っ て い な い 場 合 の 動 作 で あ る )。 以 下 の 説 明 で は 、 状 態 変 化 が 起 こ っ た が こ れ ら の シ ス テ ム コ ー ル の い ず れ か に よ っ て 待 た れ て い な い 子 プ ロ セ ス を waitable (待 ち 可 能 ) と 呼 ぶ 。
wait() と waitpid()
wait () シ ス テ ム コ ー ル は 、 子 プ ロ セ ス の い ず れ か が 終 了 す る ま で 呼 び 出 し 元 の ス レ ッ ド の 実 行 を 一 時 停 止 す る 。 呼 び 出 し wait(&wstatus) は 以 下 と 等 価 で あ る :
waitpid(-1, &wstatus, 0);
waitpid () シ ス テ ム コ ー ル は 、 pid 引 数 で 指 定 し た 子 プ ロ セ ス の 状 態 変 化 が 起 こ る ま で 、 呼 び 出 し 元 の ス レ ッ ド の 実 行 を 一 時 停 止 す る 。 デ フ ォ ル ト で は 、 waitpid () は 子 プ ロ セ ス の 終 了 だ け を 待 つ が 、 こ の 動 作 は options 引 数 に よ り 変 更 可 能 で あ る 。
pid に 指 定 で き る 値 は 以 下 の 通 り :
|
< -1 |
プ ロ セ ス グ ル ー プ ID が pid の 絶 対 値 に 等 し い 子 プ ロ セ ス の い ず れ か が 終 了 す る ま で を 待 つ 。 |
||
|
-1 |
子 プ ロ セ ス の ど れ か が 終 了 す る ま で 待 つ 。 |
||
|
0 |
プ ロ セ ス グ ル ー プ ID が 、 waitpid () が 呼 ば れ た 時 点 で の 呼 び 出 し 元 の プ ロ セ ス の プ ロ セ ス グ ル ー プ ID と 等 し い 子 プ ロ セ ス を 待 つ 。 |
||
|
> 0 |
プ ロ セ ス ID が pid に 等 し い 子 プ ロ セ ス を 待 つ 。 |
options
の 値 は 次 の 定
数 の 0 個 以 上 の
論 理 和 で あ る :
WNOHANG
状 態 変 化 が 起 こ っ た 子 プ ロ セ ス が な い 場 合 に す ぐ に 復 帰 す る 。
WUNTRACED
子 プ ロ セ ス が 停 止 し た 場 合 に も 復 帰 す る (子 プ ロ セ ス が ptrace (2) で ト レ ー ス さ れ て い る 場 合 は 除 く )。 こ の オ プ シ ョ ン が 指 定 さ れ て い な い 場 合 で も 、 停 止 し た プ ロ セ ス が 「 ト レ ー ス (traced)」 さ れ て い れ ば 、 子 プ ロ セ ス の 状 態 が 報 告 さ れ る 。
WCONTINUED (Linux 2.6.10 以 降 )
停 止 し た 子 プ ロ セ ス が SIGCONT の 配 送 に よ り 再 開 し た 場 合 に も 復 帰 す る 。
(Linux 専 用 オ プ シ ョ ン に つ い て は 後 述 す る )
wstatus
が NULL で な け れ ば
、
wait
() や
waitpid
() は
status
で 指 す
int
に
状 態 情 報 を 格
納 す る 。 こ の
整 数 は 以 下 の
マ ク ロ を 使 っ
て 検 査 で き る
。 (こ れ ら の マ
ク ロ の 引 数 に
は 、
wait
() や
waitpid
()
が 書 き 込 ん だ
整 数 そ の も の
を 指 定 す る 。
ポ イ ン タ ー で
は な い !)
WIFEXITED(
wstatus
)
子 プ ロ セ ス が 正 常 に 終 了 し た 場 合 に 真 を 返 す 。 「 正 常 に 」 と は 、 exit (3) か _exit (2) が 呼 び 出 さ れ た 場 合 、 も し く は main() か ら 復 帰 し た 場 合 で あ る 。
WEXITSTATUS( wstatus )
子 プ ロ セ ス の 終 了 ス テ ー タ ス を 返 す 。 終 了 ス テ ー タ ス は status 引 数 の 下 位 8ビ ッ ト で 構 成 さ れ て お り 、 exit (3) や _exit (2) の 呼 び 出 し 時 に 渡 さ れ た 値 、 も し く は main() の return 文 の 引 数 と し て 指 定 さ れ た 値 で あ る 。 こ の マ ク ロ を 使 用 す る の は WIFEXITED が 真 を 返 し た 場 合 だ け に す べ き で あ る 。
WIFSIGNALED( wstatus )
子 プ ロ セ ス が シ グ ナ ル に よ り 終 了 し た 場 合 に 真 を 返 す 。
WTERMSIG( wstatus )
子 プ ロ セ ス 終 了 の 原 因 と な っ た シ グ ナ ル の 番 号 を 返 す 。 こ の マ ク ロ を 使 用 す る の は WIFSIGNALED が 真 を 返 し た 場 合 だ け に す べ き で あ る 。
WCOREDUMP( wstatus )
returns true if the child produced a core dump (see core (5)). This macro should be employed only if WIFSIGNALED returned true.
This macro is not specified in POSIX.1-2001 and is not available on some UNIX implementations (e.g., AIX, SunOS). Therefore, enclose its use inside #ifdef WCOREDUMP ... #endif .
WIFSTOPPED( wstatus )
子 プ ロ セ ス が シ グ ナ ル の 配 送 に よ り 停 止 し た 場 合 に 真 を 返 す 。 こ れ が 真 に な る の は 、 シ ス テ ム コ ー ル が WUNTRACED を 指 定 し て 呼 び 出 さ れ た 場 合 か 、 子 プ ロ セ ス が ト レ ー ス さ れ て い る 場 合 ( ptrace (2) 参 照 ) だ け で あ る 。
WSTOPSIG( wstatus )
子 プ ロ セ ス を 停 止 さ せ た シ グ ナ ル の 番 号 を 返 す 。 こ の マ ク ロ を 使 用 す る の は WIFSTOPPED が 0 以 外 を 返 し た 場 合 だ け に す べ き で あ る 。
WIFCONTINUED( wstatus )
(Linux 2.6.10 以 降 ) 子 プ ロ セ ス が SIGCONT の 配 送 に よ り 再 開 し た 場 合 に 真 を 返 す 。
waitid()
waitid () シ ス テ ム コ ー ル (Linux 2.6.9 以 降 で 利 用 可 能 ) を 使 う と 、 子 プ ロ セ ス の ど の 状 態 変 化 を 待 つ か に つ い て よ り 細 か な 制 御 が で き る 。
引
数
idtype
と
id
で ど
の 子 プ ロ セ ス
を 待 つ か を 選
択 す る :
idtype
==
P_PID
プ ロ セ ス ID が id と 一 致 す る 子 プ ロ セ ス を 待 つ 。
idtype == P_PIDFD (since Linux 5.4)
Wait for the child referred to by the PID file descriptor specified in id . (See pidfd_open (2) for further information on PID file descriptors.)
idtype == P_PGID
Wait for any child whose process group ID matches id . Since Linux 5.4, if id is zero, then wait for any child that is in the same process group as the caller’s process group at the time of the call.
idtype == P_ALL
子 プ ロ セ ス 全 部 を 対 象 に 待 つ 。 id は 無 視 さ れ る 。
子
プ ロ セ ス の ど
の 状 態 変 化 を
待 つ か は 以 下
の フ ラ グ で 指
定 す る (
options
に は
1個 以 上 の フ ラ
グ の 論 理 和 を
と っ て 指 定 す
る ):
WEXITED
子 プ ロ セ ス の 終 了 を 待 つ 。
WSTOPPED
子 プ ロ セ ス が シ グ ナ ル の 配 送 に よ り 停 止 す る の を 待 つ 。
WCONTINUED
(停 止 し て い た ) 子 プ ロ セ ス が SIGCONT が 配 送 さ れ て 再 開 す る の を 待 つ 。
さ
ら に 以 下 の フ
ラ グ を 論 理 和
の 形 で
options
に 指
定 で き る :
WNOHANG
waitpid () と 同 様 。
WNOWAIT
waitable 状 態 の プ ロ セ ス を そ の ま ま に す る 。 こ の 後 で wait コ ー ル を 使 っ て 、 同 じ 子 プ ロ セ ス の 状 態 情 報 を も う 一 度 取 得 す る こ と が で き る 。
成 功 し た 場 合 に は 、 waitid () は infop が 指 す siginfo_t 構 造 体 の 以 下 の フ ィ ー ル ド を 設 定 す る :
|
si_pid |
子 プ ロ セ ス の プ ロ セ ス ID。 |
|||
|
si_uid |
子 プ ロ セ ス の 実 ユ ー ザ ー ID (こ の フ ィ ー ル ド は 他 の ほ と ん ど の 実 装 で は 設 定 さ れ な い )。 |
si_signo
常 に SIGCHLD が 設 定 さ れ る 。
si_status
_exit (2) (か exit (3)) に 指 定 さ れ た 子 プ ロ セ ス の 終 了 ス テ ー タ ス 、 も し く は 子 プ ロ セ ス の 終 了 、 停 止 、 再 開 の 原 因 と な っ た シ グ ナ ル が 設 定 さ れ る 。 こ の フ ィ ー ル ド を ど う 解 釈 す る か は 、 si_code フ ィ ー ル ド を 参 照 し て 決 め る こ と が で き る 。
si_code
以 下 の い ず れ か が 設 定 さ れ る : CLD_EXITED (子 プ ロ セ ス が _exit (2) を 呼 び 出 し た ); CLD_KILLED (シ グ ナ ル に よ り 子 プ ロ セ ス が kill さ れ た ); CLD_DUMPED (シ グ ナ ル に よ り 子 プ ロ セ ス が kill さ れ 、 コ ア ダ ン プ が 行 わ れ た ); CLD_STOPPED (シ グ ナ ル に よ り 子 プ ロ セ ス が 停 止 し た ); CLD_TRAPPED (ト レ ー ス さ れ て い た 子 プ ロ セ ス が ト ラ ッ プ を 受 信 し た ); CLD_CONTINUED ( SIGCONT に よ り 子 プ ロ セ ス が 再 開 さ れ た )。
If WNOHANG was specified in options and there were no children in a waitable state, then waitid () returns 0 immediately and the state of the siginfo_t structure pointed to by infop depends on the implementation. To (portably) distinguish this case from that where a child was in a waitable state, zero out the si_pid field before the call and check for a nonzero value in this field after the call returns.
POSIX.1-2008 Technical Corrigendum 1 (2013) adds the requirement that when WNOHANG is specified in options and there were no children in a waitable state, then waitid () should zero out the si_pid and si_signo fields of the structure. On Linux and other implementations that adhere to this requirement, it is not necessary to zero out the si_pid field before calling waitid (). However, not all implementations follow the POSIX.1 specification on this point.
返 り 値
wait (): 成 功 す る と 、 終 了 し た 子 プ ロ セ ス の プ ロ セ ス ID を 返 す 。 エ ラ ー の 場 合 -1 を 返 す 。
waitpid (): 成 功 す る と 、 状 態 が 変 化 し た 子 プ ロ セ ス の プ ロ セ ス ID を 返 す 。 WNOHANG が 指 定 さ れ て い て 、 pid で 指 示 さ れ た 子 プ ロ セ ス が 一 つ 以 上 存 在 す る が 、 ど の 子 プ ロ セ ス で も 状 態 変 化 が 起 こ っ て い な か っ た 場 合 は 、 0 を 返 す 。 エ ラ ー の 場 合 -1 を 返 す 。
waitid (): 成 功 す る と 0 を 返 す 。 WNOHANG が 指 定 さ れ て い て 、 pid で 指 示 さ れ た 子 プ ロ セ ス で 状 態 変 化 が 起 こ っ て い な か っ た 場 合 に も 0 を 返 す 。
エ ラ ー の 場 合 -1 を 返 す 。 エ ラ ー の 場 合 、 こ れ ら の シ ス テ ム コ ー ル は い ず れ も errno に 適 切 な 値 を 設 定 す る 。
エ ラ ー
|
ECHILD |
( wait () の 場 合 ) 呼 び 出 し 元 プ ロ セ ス に は 、 wait を 行 っ て い な い 子 プ ロ セ ス は な い 。 |
||
|
ECHILD |
( waitpid () か waitid () の 場 合 ) pid ( waitpid ()) か idtype と id ( waitid ()) で 指 定 し た プ ロ セ ス が 存 在 し な い か 、 呼 び 出 し 元 プ ロ セ ス の 子 プ ロ セ ス で な い ( SIGCHLD の 動 作 に SIG_IGN を 設 定 し た 場 合 に は 、 自 分 自 身 の 子 プ ロ セ ス で も 起 こ り う る 。 ス レ ッ ド に 関 し て は 「 Linux で の 注 意 」 の 節 も 参 照 す る こ と )。 |
||
|
EINTR |
WNOHANG が 設 定 さ れ て お ら ず 、 禁 止 (block) さ れ て い な い シ グ ナ ル や SIGCHLD を 受 信 し た 。 signal (7) 参 照 。 |
||
|
EINVAL |
options 引 数 が 不 正 で あ る 。 |
準 拠
SVr4, 4.3BSD, POSIX.1-2001.
注 意
A child that terminates, but has not been waited for becomes a "zombie". The kernel maintains a minimal set of information about the zombie process (PID, termination status, resource usage information) in order to allow the parent to later perform a wait to obtain information about the child. As long as a zombie is not removed from the system via a wait, it will consume a slot in the kernel process table, and if this table fills, it will not be possible to create further processes. If a parent process terminates, then its "zombie" children (if any) are adopted by init (1), (or by the nearest "subreaper" process as defined through the use of the prctl (2) PR_SET_CHILD_SUBREAPER operation); init (1) automatically performs a wait to remove the zombies.
POSIX.1-2001 で は 以 下 の よ う に 規 定 さ れ て い る 。 SIGCHLD の 動 作 が SIG_IGN に 設 定 さ れ た か 、 SIGCHLD に 対 し て SA_NOCLDWAIT フ ラ グ が 設 定 さ れ た 場 合 ( sigaction (2) 参 照 )、 終 了 し た 子 プ ロ セ ス は ゾ ン ビ に は な ら ず 、 wait () や waitpid () の 呼 び 出 し は 全 て の 子 プ ロ セ ス が 終 了 す る ま で 停 止 し 、 子 プ ロ セ ス が 全 部 終 了 し た 後 errno に ECHILD を 設 定 し て 失 敗 す る 。 (も と も と の POSIX 標 準 は SIGCHLD に SIG_IGN を 設 定 し た 場 合 の 振 る 舞 い を 未 規 定 の ま ま に し て い る 。 SIGCHLD の デ フ ォ ル ト の 動 作 が 「 無 視 」 で あ る に も か か わ ら ず 、 SIGCHLD の 動 作 と し て SIG_IGN を 明 示 的 に 設 定 し た 場 合 に は ゾ ン ビ プ ロ セ ス の 子 プ ロ セ ス の 扱 い が 異 な る 点 に 注 意 す る こ と 。 )
Linux 2.6 は こ の 仕 様 に 準 拠 し て い る 。 し か し 、 Linux 2.4 (と そ れ 以 前 の バ ー ジ ョ ン ) は そ う で は な い : SIGCHLD が 無 視 さ れ る 状 態 で wait () ま た は waitpid () が 呼 び 出 さ れ た 場 合 、 SIGCHLD が 無 視 さ れ て い な い か の よ う に 振 る 舞 う 。 つ ま り 、 呼 び 出 し に よ っ て 次 の 子 プ ロ セ ス の 終 了 ま で ブ ロ ッ ク さ れ 、 終 了 し た 子 プ ロ セ ス の PID と 状 態 が 返 さ れ る 。
Linux で の 注 意
Linux カ ー ネ ル で は 、 カ ー ネ ル に よ っ て ス ケ ジ ュ ー ル さ れ る ス レ ッ ド は プ ロ セ ス と 明 確 に 区 別 で き る 構 成 要 素 で は な い 。 ス レ ッ ド は Linux 固 有 の clone (2) シ ス テ ム コ ー ル を 使 用 し て 生 成 さ れ る プ ロ セ ス に 過 ぎ な い 。 移 植 性 の あ る pthread_create (3) コ ー ル の よ う な 他 の ル ー チ ン は clone (2) を 使 用 し て 実 装 さ れ て い る ; こ れ ら で は waitid () を 使 う こ と は で き な い 。 Linux 2.4 よ り 前 で は 、 ス レ ッ ド は 単 に 特 殊 な プ ロ セ ス で あ っ た の で 、 例 え 同 じ ス レ ッ ド グ ル ー プ で あ っ て も 、 あ る ス レ ッ ド が 別 の ス レ ッ ド の 子 プ ロ セ ス が 終 了 す る の を 待 つ こ と は 出 来 な か っ た 。 し か し 、 POSIX で は こ の よ う な 機 能 を 規 定 し て お り 、 Linux 2.4 以 降 で は 、 あ る ス レ ッ ド が 同 じ ス レ ッ ド グ ル ー プ の 他 の ス レ ッ ド の 子 プ ロ セ ス が 終 了 す る の を 待 つ こ と が で き る よ う に な っ た 。 そ し て 将 来 は こ れ が デ フ ォ ル ト の 動 作 に な る で あ ろ う 。
The following
Linux-specific
options
are for use with children
created using
clone
(2); they can also, since Linux
4.7, be used with
waitid
():
__WCLONE
"clone" な 子 プ ロ セ ス だ け を 待 つ 。 指 定 さ れ な か っ た 場 合 は 非 "clone" な 子 プ ロ セ ス だ け を 待 つ ("clone" な 子 プ ロ セ ス は 、 終 了 時 に 親 プ ロ セ ス へ 全 く シ グ ナ ル を 送 ら な い か 、 SIGCHLD 以 外 の シ グ ナ ル を 送 る )。 こ の オ プ シ ョ ン は __WALL も 指 定 さ れ た 場 合 は 無 視 さ れ る 。
__WALL (Linux 2.4 以 降 )
"clone" で あ る か な い か に 関 わ ら ず 、 全 て の 子 プ ロ セ ス を 待 つ 。
__WNOTHREAD (Linux 2.4 以 降 )
同 じ ス レ ッ ド グ ル ー プ の 他 の ス レ ッ ド の 子 プ ロ セ ス は 待 た な い 。 Linux 2.4 よ り 前 で は デ フ ォ ル ト で あ っ た 。
Since Linux 4.7, the __WALL flag is automatically implied if the child is being ptraced.
C ラ イ ブ ラ リ と カ ー ネ ル の 違 い
wait () is actually a library function that (in glibc) is implemented as a call to wait4 (2).
On some architectures, there is no waitpid () system call; instead, this interface is implemented via a C library wrapper function that calls wait4 (2).
生 の waitid () シ ス テ ム コ ー ル は struct rusage * 型 の 第 5 引 数 を 取 る 。 こ の 引 数 が NULL 以 外 の 場 合 、 こ の 引 数 が 子 プ ロ セ ス の リ ソ ー ス 使 用 状 況 を 返 す の に 使 用 さ れ る 。 こ れ は wait4 (2) と 同 じ 方 法 で あ る 。 詳 細 は getrusage (2) を 参 照 。
バ グ
POSIX.1-2008 に よ る と 、 waitid () を 呼 び 出 す ア プ リ ケ ー シ ョ ン は 、 infop が siginfo_t 構 造 体 を 指 し て い る こ と (つ ま り infop が NULL で な い ポ イ ン タ ー で あ る こ と ) を 保 証 し な け れ ば な ら な い 。 Linux で は 、 infop が NULL の 場 合 、 waitid () は 成 功 し 、 wait し て い る 子 プ ロ セ ス の プ ロ セ ス ID を 返 す 。 ア プ リ ケ ー シ ョ ン は 、 こ の 食 い 違 っ た 、 非 標 準 で 、 不 必 要 な 機 能 に 依 存 し な い よ う に す べ き で あ る 。
例
以 下 の プ ロ グ ラ ム は 、 fork (2) と waitpid () の 使 用 方 法 の 例 を 示 し て い る 。 こ の プ ロ グ ラ ム で は 子 プ ロ セ ス を 生 成 す る 。 コ マ ン ド ラ イ ン 引 数 が 指 定 さ れ な か っ た と き は 、 子 プ ロ セ ス は pause (2) を 使 っ て そ の 実 行 を 一 時 停 止 し 、 ユ ー ザ ー が そ の 子 プ ロ セ ス に シ グ ナ ル を 送 信 で き る よ う に す る 。 コ マ ン ド ラ イ ン 引 数 が 指 定 さ れ た 場 合 は 、 子 プ ロ セ ス は 直 ち に 終 了 し 、 コ マ ン ド ラ イ ン で 指 定 さ れ た 整 数 を 終 了 ス テ ー タ ス と し て 使 用 す る 。 親 プ ロ セ ス は 、 waitpid () を 使 っ て 子 プ ロ セ ス を 監 視 し 、 wait の ス テ ー タ ス 値 を 上 記 の W*() マ ク ロ を 使 っ て 解 析 す る と い う ル ー プ を 実 行 す る 。
以 下 の シ ェ ル の セ ッ シ ョ ン は こ の プ ロ グ ラ ム の 使 用 例 を 示 し た も の で あ る 。
$
./a.out
&
Child PID is 32360
[1] 32359
$
kill -STOP 32360
stopped by signal 19
$
kill -CONT 32360
continued
$
kill -TERM 32360
killed by signal 15
[1]+ Done ./a.out
$
プ ロ グ ラ ム の ソ ー ス
#include
<sys/wait.h>
#include <stdint.h>
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
int
main(int argc, char *argv[])
{
pid_t cpid, w;
int wstatus;
cpid = fork();
if (cpid == -1) {
perror("fork");
exit(EXIT_FAILURE);
}
if (cpid == 0) {
/* Code executed by child */
printf("Child PID is %jd\n", (intmax_t) getpid());
if (argc == 1)
pause(); /* Wait for signals */
_exit(atoi(argv[1]));
} else { /* Code
executed by parent */
do {
w = waitpid(cpid, &wstatus, WUNTRACED | WCONTINUED);
if (w == -1) {
perror("waitpid");
exit(EXIT_FAILURE);
}
if
(WIFEXITED(wstatus)) {
printf("exited, status=%d\n",
WEXITSTATUS(wstatus));
} else if (WIFSIGNALED(wstatus)) {
printf("killed by signal %d\n",
WTERMSIG(wstatus));
} else if (WIFSTOPPED(wstatus)) {
printf("stopped by signal %d\n",
WSTOPSIG(wstatus));
} else if (WIFCONTINUED(wstatus)) {
printf("continued\n");
}
} while (!WIFEXITED(wstatus) &&
!WIFSIGNALED(wstatus));
exit(EXIT_SUCCESS);
}
}
関 連 項 目
_exit (2), clone (2), fork (2), kill (2), ptrace (2), sigaction (2), signal (2), wait4 (2), pthread_create (3), core (5), credentials (7), signal (7)
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man-pages プ ロ ジ ェ ク ト の リ リ ー ス 5.10 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は https://www.kernel.org/doc/man-pages/ に 書 か れ て い る 。